websocket-upgrade
Utilizza la politica websocket-upgrade per elaborare le risposte e le richieste API tramite una connessione WebSocket .
Supporto gateway
| Gateway | Versione politica |
|---|---|
| DataPower® API Gateway | 2.0.0 |
Questo argomento descrive come configurare il criterio nella OpenAPI fonte; per dettagli su come configurare il criterio nell'interfaccia utente dell'assembly, vedere Aggiornamento Websocket.
- websocket-upgrade:
version: version
title: title
description: description
target-url: URL_of_target_API
tls-profile: TLS_profile_to_be_used
timeout: timeout_value_in_seconds
follow-redirects: redirect_behavior_on_301_error
username: username_if_authentication_required
password: password_if_authentication_required
inject-proxy-headers: are_proxy_headers_sent_to_target_url
decode-request-params: are_request_parameters_decoded
encode-plus-char: are_plus_characters_encoded
header-control:
.
.
.
headers_to_copy_to_target_url
.
.
.
parameter-control:
.
.
.
parameters_to_copy_to_target_url
.
.
.
Proprietà
| Proprietà | Obbligatorio | Descrizione | Tipo di dati |
|---|---|---|---|
| version | Sì | Il numero di versione della politica. | stringa |
| title | No | Il titolo della politica. | stringa |
| description | No | Una descrizione della politica. | stringa |
| target-url | Sì | Specificare l' URL da richiamare. | stringa |
| tls-profile | No | Specifica un profilo TLS da utilizzare per la trasmissione sicura dei dati. | stringa |
| timeout | No | Il tempo di attesa prima di una risposta dall'endpoint (in secondi). Il valore predefinito è |
intero |
| follow-redirects | No | Specifica il comportamento se il server back-end restituisce il codice di stato HTTP 301 Moved
Permanently. Se questa proprietà è impostata su true, il criterio invoke segue il reindirizzamento dell' URL effettuando un'ulteriore chiamata all' URL specificato nell'intestazione Location nella risposta. Se questa proprietà è impostata su false, invoke salva il codice di stato 301 e la chiamata API viene considerata completa.Nota: la proprietà
follow-redirect è supportata solo da DataPower API Gateway. Se si utilizza DataPower Gateway (v5 compatible), invoke segue sempre il reindirizzamento dell' URL ; il criterio proxy (non supportato da DataPower API Gateway ) salva il codice di stato 301 e completa la chiamata API senza seguire il reindirizzamento URL. |
booleano |
| username | No | Il nome utente da utilizzare per l'autenticazione di base HTTP. | stringa |
| password | No | La password da utilizzare per l'autenticazione di base HTTP. | stringa |
| inject-proxy-headers | No | Quando è impostata su true, la politica invoke inserisce le intestazioni X-Forwarded-For, X-Forwarded-To, X-Forwarded-Hoste X-Forwarded-Proto nella richiesta inviata altarget-url.Il valore predefinito è |
booleano |
| decode-request-params | No | Se impostato su true, tutti i parametri della richiesta che sono referenziati da una definizione di variabile in target-url del criterio di invocazione sono URL.Il valore predefinito è |
booleano |
| encode-plus-char | No | Quando è impostato su true, tutti i caratteri "+" nei valori del parametro di query di target-url sono codificati in %2F.Il valore predefinito è |
booleano |
|
No | Specifica le intestazioni in message.headers che si desidera copiare nell' URL di destinazione.Se la proprietà Se la proprietà Gli elementi elencati nella proprietà
values sono in formato di espressione regolare. I valori non sono sensibili al maiuscolo / minuscolo. Il valore predefinito della proprietà header-control è |
oggetto |
|
No | Specifica i parametri della richiesta in arrivo che si desidera copiare nell' URL di destinazione. Se la proprietà Se la proprietà Gli elementi elencati nella proprietà
values sono in formato di espressione regolare. I valori non sono sensibili al maiuscolo / minuscolo. Il valore predefinito della proprietà parameter-control è |
oggetto |
|
No | L'assembly di elaborazione della richiesta. Per dettagli sulla configurazione di un assembly nella sezione execute , consultare execute. |
oggetto |
|
No | L'assembly di elaborazione della risposta. Per dettagli sulla configurazione di un assembly nella sezione execute , consultare execute. |
oggetto |
Esempio
- websocket-upgrade:
version: 2.0.0
title: websocket-upgrade
timeout: 60
target-url: 'https://my.websocket.upgrade.com'
secure-gateway: false
follow-redirects: true
inject-proxy-headers: true
decode-request-params: false
encode-plus-char: true
response-assembly:
execute:
- parse:
version: 2.0.0
title: parse
parse-settings-reference:
default: apic-default-parsesettings
description: Parse the response from the backend server
header-control esempi
# copy all headers to the target URL
- invoke:
target-url: http://myhost/mypath
header-control:
type: blocklist
values: []
# copy all headers except X-Client-ID and Content-Type
- invoke:
target-url: http://myhost/mypath
header-control:
type: allowlist
values:
- ^X-Client-ID$
- ^Content-Type$
# copy no headers
- invoke:
target-url: http://myhost/mypath
header-control:
type: allowlist
values: []
# copy only the Content-Type header
- invoke:
target-url: http://myhost/mypath
header-control:
type: allowlist
values:
- ^Content-Type$
parameter-control esempi
# copy no request parameters to the target URL
- invoke:
target-url: http://myhost/path?storeid=3
parameter-control:
type: allowlist
values: []
# append the petid parameter to the target URL
# if the incoming request is http://apigw/org/sandbox/petstore/base?petid=100&display=detailed,
# the target URL at runtime will be http://myhost/mypath?storeid=3&petid=100
- invoke:
target-url: http://myhost/path?storeid=3
parameter-control:
type: allowlist
values:
- ^petid$