Compartir a través de


Interceptar solicitudes con encabezados específicos

De forma predeterminada, el proxy de desarrollo intercepta todas las solicitudes que coinciden con las direcciones URL configuradas en el archivo devproxyrc.json . Si desea interceptar solo solicitudes específicas, como las solicitudes emitidas por un componente específico, puede configurar el proxy de desarrollo para interceptar las solicitudes con encabezados específicos.

Para interceptar solicitudes con encabezados específicos, agregue la filterByHeaders propiedad en el devproxyrc.json archivo . En la filterByHeaders propiedad , especifique los encabezados que desea usar para filtrar las solicitudes. Para cada encabezado, especifique el valor que debe contener el encabezado para que el proxy de desarrollo intercepte la solicitud. Si deja el valor vacío, Dev Proxy intercepta las solicitudes que contienen el encabezado especificado, independientemente de su valor.

Ejemplo: Interceptación de solicitudes con un encabezado y un valor específicos

En el ejemplo siguiente se muestra cómo configurar el proxy de desarrollo para interceptar las solicitudes que contienen el x-app encabezado con un valor que contiene contoso-intranet:

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.21.0/rc.schema.json",
  "plugins": [
    // [...] trimmed for brevity
  ],
  "filterByHeaders": [
    {
      "name": "x-app",
      "value": "contoso-intranet"
    }
  ]
}

Con esta configuración, el proxy de desarrollo intercepta las solicitudes que contienen el x-app encabezado con el valor contoso-intranet, por ejemplo:

GET https://api.contoso.com/customers
x-app: contoso-intranet

El proxy de desarrollo también intercepta las solicitudes que coinciden parcialmente con el valor especificado, por ejemplo:

GET https://api.contoso.com/customers
x-app: contoso-intranet-search

El proxy de desarrollo no intercepta la siguiente solicitud porque el valor del x-app encabezado no contiene contoso-intranet:

GET https://api.contoso.com/customers
x-app: contoso-public

La coincidencia parcial es cómoda y permite interceptar las solicitudes con valores que pueden cambiar con el tiempo, como componente o versión del SDK.

Ejemplo: Interceptación de solicitudes con un encabezado específico sin importar el valor

Para interceptar las solicitudes que contienen un encabezado específico, independientemente de su valor, deje el valor vacío:

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
  "plugins": [
    // [...] trimmed for brevity
  ],
  "filterByHeaders": [
    {
      "name": "x-contoso",
      "value": ""
    }
  ]
}

Con esta configuración, el proxy de desarrollo intercepta las solicitudes que contienen el x-contoso encabezado, independientemente de su valor:

GET https://api.contoso.com/customers
x-contoso: api-sdk v1.0

O:

GET https://api.contoso.com/customers
x-contoso: intranet

El proxy de desarrollo no intercepta la siguiente solicitud porque no tiene el x-contoso encabezado :

GET https://api.contoso.com/customers
x-app: contoso-public