Aller au contenu principal

gatewaymw/gatewaymw.go (package gatewaymw)

Source : sdks/go/gatewaymw/gatewaymw.go. Retour à l'index de la référence du SDK Go.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe Info​

Info est l'état propre à la requête, rangé dans le contexte de la requête.

Champs :

NomTypeRequisDescription
RequestIDstringouiX-Request-Id entrant, ou un identifiant généré ; aussi placé sur la réponse.
Traceparentstringouitraceparent W3C de la requête : l'identifiant de trace entrant avec un nouvel identifiant de span, ou une nouvelle trace.
LangstringouiLangue des messages d'erreur, fr quand Accept-Language commence par fr, en sinon.
Headershttp.HeaderouiEn-têtes entrants de ForwardedHeaders (identifiants, tenancy, langue) recopiés sur chaque appel au Control Plane.
Decision*eai.PolicyDecisionnonDécision de politique de la requête, la partie décision du Policy Contract v1 ; nil quand Config.Action est nil.
Reservation*eai.ReservationnonFinOps. Gestion des coûts de l'usage de l'IA : grilles tarifaires, événements d'usage, estimations, quotas et réservations, répartition du coût des GPU, rapprochement de la facturation et alertes.

Info.CallOptions​

CallOptions() []eai.CallOption

CallOptions renvoie les options qui font un appel du SDK au nom de l'appelant (identifiants, tenancy, trace, identifiant de requête).

Cet élément ne prend aucun paramètre.

Retour : []eai.CallOption. Des CallOption : chacune personnalise un appel.

Modèle Config​

Config configure le middleware.

Champs :

NomTypeRequisDescription
Client*eai.ClientnonClient sert aux appels de politique et de quota. Obligatoire sauf si Action et Reserve sont tous deux nil.
Actionfunc(r *http.Request) stringouiAction renvoie l'action de politique d'une requête (par exemple "model.invoke") ; nil désactive la vérification de politique.
Resourcefunc(r *http.Request) map[string]anyouiResource renvoie la ressource de politique ({"type": "model", "id": "..."}) ; par défaut, le chemin de la requête.
Contextfunc(r *http.Request) map[string]anyouiContext renvoie le contexte de politique (data_classification, region, purpose...).
Reservefunc(r *http.Request) map[string]anyouiReserve renvoie la demande de réservation de quota, ou nil pour ne pas réserver pour cette requête.
AllowAnonymousboolouiAllowAnonymous désactive la vérification des identifiants (points d'accès de santé).

Fonctions​

FromContext​

FromContext(ctx context.Context) *Info

FromContext renvoie l'Info de la requête courante, ou nil.

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.

Retour : *Info. Une Info : l'état propre à la requête, rangé dans le contexte de la requête.

New​

New(cfg Config) func(http.Handler) http.Handler

New renvoie le middleware.

NomTypeDéfautRequisDescription
cfgConfigouiRéglages du middleware : client, action de politique, ressource, contexte et réservation de quota.

Retour : func(http.Handler) http.Handler. Un middleware net/http qui enveloppe le http.Handler suivant avec les vérifications d'identifiants, de politique et de quota.

WriteError​

WriteError(w http.ResponseWriter, status int, code string, message string, details map[string]any, requestID string)

WriteError écrit l'enveloppe d'erreur de la plateforme.

NomTypeDéfautRequisDescription
whttp.ResponseWriterouiWriter de la réponse dans lequel l'enveloppe JSON est écrite.
statusintouiStatut HTTP de la réponse.
codestringouiCode machine de l'erreur, par exemple policy_denied ; il choisit les messages en et fr de message_i18n.
messagestringouiMessage de l'enveloppe, repris dans message_i18n quand le catalogue n'a pas de texte pour le code.
detailsmap[string]anyouiL'objet details de l'enveloppe ; nil écrit un objet vide.
requestIDstringouiIdentifiant de requête écrit dans request_id.