Partilhar via


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

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

Para intercetar 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 o Dev Proxy intercetar a solicitação. Se você deixar o valor vazio, o Proxy de Desenvolvimento intercetará solicitações que contenham o cabeçalho especificado, independentemente de seu valor.

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

O exemplo a seguir demonstra como configurar o Dev Proxy para intercetar solicitações que contêm o x-app cabeçalho com um valor que contém contoso-intranet:

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

Usando essa configuração, o Dev Proxy interceta 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 interceta 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 interceta a seguinte solicitação 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 intercetar solicitações com valores que podem mudar ao longo do tempo, como componente ou versão do SDK.

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

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

{
  "$schema": "https://raw.githubusercontent.com/dotnet/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 interceta 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 interceta a seguinte solicitação porque não tem o x-contoso cabeçalho:

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