Compartilhar via


Interceptar solicitações com cabeçalhos específicos

Por padrão, o Dev Proxy intercepta todas as solicitações que correspondem às URLs configuradas no arquivo devproxyrc.json . Quando você deseja interceptar apenas solicitações específicas, como solicitações emitidas por um componente específico, pode configurar o Dev Proxy para interceptar solicitações com cabeçalhos específicos.

Para interceptar solicitações com cabeçalhos específicos, no devproxyrc.json arquivo, adicione a filterByHeaders propriedade. filterByHeaders Na propriedade, especifique os cabeçalhos que você deseja usar para filtrar as solicitações. Para cada cabeçalho, especifique o valor que o cabeçalho deve conter para que o Dev Proxy intercepte a solicitação. Se você deixar o valor vazio, o Dev Proxy interceptará as solicitações que contêm o cabeçalho especificado, independentemente de seu valor.

Exemplo: interceptar solicitações com um cabeçalho e valor específicos

O exemplo a seguir demonstra como configurar o Dev Proxy para interceptar solicitações que contêm o x-app cabeçalho com um valor que contém 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"
    }
  ]
}

Usando essa configuração, o Dev Proxy intercepta solicitações que contêm o x-app cabeçalho com o valor contoso-intranet, por exemplo:

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

O Dev Proxy também intercepta solicitações que correspondem parcialmente ao valor especificado, por exemplo:

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

O Proxy de Desenvolvimento não intercepta a solicitação a seguir porque o x-app valor do cabeçalho não contém contoso-intranet:

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

A correspondência parcial é conveniente e permite interceptar solicitações com valores que podem mudar ao longo do tempo, como a versão do componente ou do SDK.

Exemplo: interceptar solicitações com um cabeçalho específico, independentemente do valor

Para interceptar solicitações que contenham um cabeçalho específico, independentemente de seu valor, deixe o valor vazio:

{
  "$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": ""
    }
  ]
}

Usando essa configuração, o Dev Proxy intercepta solicitações que contêm o x-contoso cabeçalho, independentemente de seu valor:

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

Ou:

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

O Dev Proxy não intercepta a seguinte solicitação porque ela não tem o x-contoso cabeçalho:

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