websocket-upgrade
Utilice la política websocket-upgrade para procesar solicitudes y respuestas de API a través de una conexión WebSocket .
Soporte de pasarela
| Pasarela | Versión de política |
|---|---|
| DataPower® API Gateway | 2.0.0 |
En este tema se describe cómo configurar la política en el origen de OpenAPI ; para obtener detalles sobre cómo configurar la política en la interfaz de usuario de ensamblaje, consulte Actualización 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
.
.
.
Propiedades
| Propiedad | Obligatorio | Descripción | Tipo de datos |
|---|---|---|---|
| version | Sí | El número de versión de la política. | serie |
| title | Nee | El título de la política. | serie |
| description | Nee | Una descripción de la política. | serie |
| target-url | Sí | Especifique el URL que debe invocarse. | serie |
| tls-profile | Nee | Especifica un perfil TLS que se va a utilizar para la transmisión segura de datos. | serie |
| timeout | Nee | El tiempo durante el que se va a esperar una respuesta del punto final (en segundos). El valor predeterminado es |
entero |
| follow-redirects | Nee | Especifica el comportamiento si el servidor back-end devuelve el código de estado HTTP 301 Moved
Permanently . Si esta
propiedad se establece en true, la política invoke sigue la redirección de URL realizando una llamada al URL especificado en
la cabecera Location de la respuesta. Si esta propiedad se establece en false, invoke guarda el código de
estado 301 y se considera que la llamada de API se ha completado.Nota: La propiedad
follow-redirect sólo está soportada por DataPower API Gateway. Si utiliza DataPower Gateway (v5 compatible), invoke siempre sigue la redirección URL ; la política proxy (no compatible con DataPower API Gateway ) guarda el código de estado 301 y completa la llamada a la API sin seguir la redirección URL. |
booleano |
| username | Nee | El nombre de usuario que se va a utilizar para la autenticación básica HTTP. | serie |
| password | Nee | La contraseña que se va a utilizar para la autenticación básica HTTP. | serie |
| inject-proxy-headers | Nee | Cuando está establecida en true, la política invoke inyecta las cabeceras X-Forwarded-For,
X-Forwarded-To, X-Forwarded-Host y X-Forwarded-Proto en la solicitud que se envía a target-url.El valor predeterminado es |
booleano |
| decode-request-params | Nee | Si se establece en true, cualquier parámetro de solicitud al que haga referencia una definición de variable en el target-url de la
política invoke se decodifica por URL.El valor predeterminado es |
booleano |
| encode-plus-char | Nee | Si se establece en true, todos los caracteres "+" de los valores de parámetros de consulta del target-url se codifican en %2F.El valor predeterminado es |
booleano |
|
Nee | Especifica las cabeceras message.headers que desea copiar en el URL de destino.Si la propiedad Si la propiedad Los elementos que se listan en la propiedad
values están en formato de
expresión regular. Los valores no distinguen entre mayúsculas y minúsculas. El valor predeterminado de la propiedad header-control esConsulte ejemplos de control de cabecera |
objeto |
|
Nee | Especifica los parámetros de la solicitud entrante que se desea copiar en el URL de destino. Si la propiedad Si la propiedad Los elementos que se listan en la propiedad
values están en formato de
expresión regular. Los valores no distinguen entre mayúsculas y minúsculas. El valor predeterminado de la propiedad parameter-control esConsulte ejemplos de control de parámetros |
objeto |
|
Nee | El ensamblaje del proceso de solicitud. Para obtener detalles sobre la configuración de un ensamblaje en la sección execute , consulte execute. |
objeto |
|
Nee | El ensamblaje del proceso de respuesta. Para obtener detalles sobre la configuración de un ensamblaje en la sección execute , consulte execute. |
objeto |
Ejemplo
- 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
Ejemplos de 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$
Ejemplos de 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$