websocket-upgrade
Utilisez la stratégie websocket-upgrade pour traiter les demandes et les réponses d'API via une connexion WebSocket .
Prise en charge des passerelles
| Passerelle | Version de la stratégie |
|---|---|
| DataPower® API Gateway | 2.0.0 |
Cette rubrique explique comment configurer la stratégie dans votre source OpenAPI; pour plus de détails sur la configuration de la stratégie dans l'interface utilisateur de l'assembly, consultez la section Mise à niveau de 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
.
.
.
Propriétés
| Propriété | Obligatoire | Descriptif | Type de données |
|---|---|---|---|
| version | Oui | Numéro de version de la stratégie. | chaîne |
| title | Non | Titre de la stratégie. | chaîne |
| description | Non | Description de la stratégie. | chaîne |
| target-url | Oui | Indiquez l'URL à appeler. | chaîne |
| tls-profile | Non | Indique un profil TLS à utiliser pour sécuriser la transmission de données. | chaîne |
| timeout | Non | Délai avant le retour d'une réponse du noeud final (en secondes). La valeur par défaut est |
entier |
| follow-redirects | Non | Spécifie le comportement si le serveur back-end renvoie le code d'état HTTP 301 Moved
Permanently. Si cette propriété est définie sur true, la stratégie invoke suit la redirection d'URL
en envoyant un appel supplémentaire à l'URL spécifiée dans l'en-tête Location de la réponse. Si la propriété est définie sur false, la stratégie invoke sauvegarde le code de statut
301 et l'appel API est considéré comme terminé.Remarque: La propriété follow-redirect est prise en charge uniquement par DataPower API Gateway. Si vous utilisez le DataPower Gateway (v5 compatible), le suit invoke toujours la redirection URL; la proxy (non prise en charge par le DataPower API Gateway) enregistre le 301 et effectue l'appel API sans suivre la redirection URL. |
booléen |
| username | Non | Nom d'utilisateur à utiliser pour l'authentification HTTP de base. | chaîne |
| password | Non | Mot de passe à utiliser pour l'authentification HTTP de base. | chaîne |
| inject-proxy-headers | Non | Lorsque cette propriété est définie sur true, la stratégie invoke injecte les en-têtes
X-Forwarded-For, X-Forwarded-To, X-Forwarded-Host et
X-Forwarded-Proto dans la demande qui est envoyée à l'URL cible target-url.La valeur par défaut est |
booléen |
| decode-request-params | Non | Lorsque cette propriété est définie sur true, tout paramètre de demande référencé par une définition de variable sur l'URL cible
target-url de la stratégie invoke est décodé par l'URL.La valeur par défaut est |
booléen |
| encode-plus-char | Non | Lorsque cette propriété est définie sur true, tous les caractères "+" inclus dans les valeurs de paramètre de requête de l'URL cible
target-url sont codés en %2F.La valeur par défaut est |
booléen |
|
Non | Spécifie dans message.headers les en-têtes que vous voulez copier dans l'URL cible.Si la propriété Si la
propriété Les éléments répertoriés dans la propriété values
sont au format d'expression régulière. Les valeurs ne sont pas sensibles à la casse. La valeur par défaut de la propriété header-control
est |
objet |
|
Non | Spécifie dans la demande entrante les paramètres que vous souhaitez copier dans l'URL cible. Si la propriété Si la
propriété Les éléments répertoriés dans la propriété values
sont au format d'expression régulière. Les valeurs ne sont pas sensibles à la casse. La valeur par défaut de la propriété parameter-control
est |
objet |
|
Non | Assemblage de traitement des demandes. Pour plus de détails sur la configuration d'un assemblage dans la section execute , voir execute. |
objet |
|
Non | Assemblage de traitement de la réponse. Pour plus de détails sur la configuration d'un assemblage dans la section execute , voir execute. |
objet |
Exemple
- 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
Exemplesheader-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$
Exemplesparameter-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$