Definir cabeçalho

APLICA-SE A: todas as camadas do Gerenciamento de API

A política set-header atribui um valor a um cabeçalho de solicitação e/ou resposta HTTP existente ou adiciona um novo cabeçalho de solicitação/resposta.

Use a política para inserir uma lista de cabeçalhos HTTP em uma mensagem HTTP. Quando colocada em um pipeline de entrada, esta política define os cabeçalhos HTTP para a solicitação que está sendo passada para o serviço alvo. Quando colocada em um pipeline de saída, esta política define os cabeçalhos HTTP para a resposta que está sendo passada para o cliente do gateway.

Observação

Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Para ajudá-lo a configurar essa política, o portal fornece um editor guiado baseado em formulário. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.

Declaração de política

<set-header name="header name" exists-action="override | skip | append | delete">
    <value>value</value> <!--for multiple headers with the same name add additional value elements-->
</set-header>

Atributos

Name Descrição Obrigatório Padrão
exists-action Especifica a ação a ser executada quando o cabeçalho já estiver especificado. Este atributo deve ter um dos valores a seguir.

- override: substitui o valor do cabeçalho existente.
- skip: não substitui o valor do cabeçalho existente.
- append: acrescenta o valor ao valor do cabeçalho existente.
- delete: remove o cabeçalho da solicitação.

Quando definido como override, a inscrição de várias entradas com o mesmo nome resultará na configuração do cabeçalho de acordo com todas as entradas (que serão listadas várias vezes), e, apenas os valores listados serão definidos no resultado.

Expressões de política são permitidas.
Não override
name Especifica o nome do cabeçalho a ser definido. Expressões de política são permitidas. Sim N/D

Elementos

Nome Descrição Obrigatório
value Especifica o valor do cabeçalho a ser definido. Expressões de política são permitidas. Para adicionar vários cabeçalhos com o mesmo nome, adicione elementos value adicionais. Não

Uso

Observações de uso

Vários valores de um cabeçalho são concatenados em uma cadeia de caracteres CSV; por exemplo:

headerName: value1,value2,value3

As exceções incluem cabeçalhos padronizados, cujos valores:

  • podem conter vírgulas (User-Agent, WWW-Authenticate, Proxy-Authenticate)
  • podem conter a data (Cookie, Set-Cookie, Warning),
  • contêm a data (Date, Expires, If-Modified-Since, If-Unmodified-Since, Last-Modified, Retry-After).

No caso de exceções, vários valores de cabeçalho não serão concatenados em uma cadeia de caracteres e serão passados como cabeçalhos separados; por exemplo:

User-Agent: value1
User-Agent: value2
User-Agent: value3

As seguintes limitações se aplicam:

  • Não há suporte para a remoção do cabeçalho Server.
  • Cabeçalhos: Connection, ContentLength, KeepAlive e TransferEncoding não podem ser modificados ou excluídos.

Exemplos

Adicionar cabeçalho, substituir existente

<set-header name="some header name" exists-action="override">
    <value>20</value>
</set-header>

Remover cabeçalho

 <set-header name="some header name" exists-action="delete" />

Encaminhar informações de contexto para o serviço de back-end

Este exemplo mostra como aplicar a política no nível da API para fornecer informações de contexto para o serviço de back-end.

<!-- Copy this snippet into the inbound element to forward some context information, user id and the region the gateway is hosted in, to the backend service for logging or evaluation -->
<set-header name="x-request-context-data" exists-action="override">
  <value>@(context.User.Id)</value>
  <value>@(context.Deployment.Region)</value>
</set-header>

Para obter mais informações, veja Expressões de política e Variável de contexto.

Para obter mais informações sobre como trabalhar com políticas, consulte: