websocket-upgrade
Verwenden Sie die websocket-upgrade -Richtlinie, um API-Anforderungen und -Antworten über eine WebSocket -Verbindung zu verarbeiten.
Gateway-Unterstützung
Gateway | Richtlinienversion |
---|---|
DataPower® API Gateway | 2.0.0 |
In diesem Abschnitt wird beschrieben, wie Sie die Richtlinie in Ihrer OpenAPI -Quelle konfigurieren können. Details zur Konfiguration der Richtlinie in der Assembly-Benutzerschnittstelle finden Sie unter Websocket Upgrade.
- 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
.
.
.
Eigenschaften
Eigenschaft | Erforderlich | Beschreibung | Datentyp |
---|---|---|---|
version | Ja | Die Versionsnummer der Richtlinie. | Zeichenfolge |
title | Nein | Der Titel der Richtlinie. | Zeichenfolge |
description | Nein | Eine Beschreibung der Richtlinie. | Zeichenfolge |
target-url | Ja | Geben Sie die URL an, die aufgerufen werden soll. | Zeichenfolge |
tls-profile | Nein | Gibt ein TLS-Profil für die sichere Übertragung von Daten an. | Zeichenfolge |
timeout | Nein | Die Zeit, die vor einer Rückantwort vom Endpunkt gewartet werden soll (in Sekunden). Der Standardwert ist |
ganze Zahl |
follow-redirects | Nein | Gibt das Verhalten an, wenn der Back-End-Server den HTTP -Statuscode 301 Moved
Permanently zurückgibt. Wenn
diese Eigenschaft auf true gesetzt ist, folgt die invoke -Richtlinie der URL-Umleitung,
indem sie einen weiteren Aufruf an die URL, die im Location -Header der Antwort angegeben ist, ausführt. Wenn
diese Eigenschaft auf false gesetzt ist, speichert invoke den 301 -Statuscode und der API-Aufruf wird als vollständig angesehen.Hinweis Die Eigenschaft
follow-redirect wird nur vom DataPower API Gatewayunterstützt. Wenn Sie DataPower Gateway (v5 compatible) verwenden, folgt invoke immer der Umleitung von URL ; die proxy richtlinie (wird von DataPower API Gateway nicht unterstützt) speichert den 301 -Statuscode und schließt den API-Aufruf ab, ohne der URL -Umleitung zu folgen. |
boolesch |
username | Nein | Der Benutzername für die HTTP-Basisauthentifizierung. | Zeichenfolge |
password | Nein | Das Kennwort für die HTTP-Basisauthentifizierung. | Zeichenfolge |
inject-proxy-headers | Nein | Wenn diese Option auf "true" gesetzt ist, fügt die invoke -Richtlinie die
X-Forwarded-For -, X-Forwarded-To -, X-Forwarded-Host - und
X-Forwarded-Proto -Header in die Anforderung ein, die an die target-url gesendet wird.Der Standardwert ist |
boolesch |
decode-request-params | Nein | Wenn der Wert "true" festgelegt wird, werden alle Anforderungsparameter, auf die von einer Variablendefinition in der
target-url der invoke-Richtlinie verwiesen wird, URL-entschlüsselt.Der Standardwert ist |
boolesch |
encode-plus-char | Nein | Wenn der Wert "true" festgelegt wird, werden alle "+"-Zeichen in den
Abfrageparameterwerden der target-url als "%2F"
verschlüsselt.Der Standardwert ist |
boolesch |
|
Nein | Gibt die Header in message.headers an, die in die Ziel-URL kopiert werden sollen.Wenn die
Eigenschaft Wenn die Eigenschaft Die in der Eigenschaft
values aufgelisteten
Elemente haben das Format eines regulären Ausdrucks. Die Werte erfordern keine Beachtung der Groß-/Kleinschreibung. Der Standardwert der Eigenschaft header-control ist
Siehe Beispiele für Headersteuerung . |
Objekt |
|
Nein | Gibt die Parameter in der eingehenden Anforderung an, die in die Ziel-URL kopiert werden sollen. Wenn die
Eigenschaft Wenn die Eigenschaft Die in der Eigenschaft
values aufgelisteten
Elemente haben das Format eines regulären Ausdrucks. Die Werte erfordern keine Beachtung der Groß-/Kleinschreibung. Der Standardwert der Eigenschaft parameter-control ist
Siehe Beispiele für Parametersteuerung . |
Objekt |
|
Nein | Die Anforderungsverarbeitungsassembly. Details zum Konfigurieren einer Assembly im Abschnitt execute finden Sie unter execute. |
Objekt |
|
Nein | Die Antwortverarbeitungsassembly. Details zum Konfigurieren einer Assembly im Abschnitt execute finden Sie unter execute. |
Objekt |
Beispiel
- 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
Beispiele für header-control
# 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$
Beispiele für parameter-control
# 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$