Partilhar via


Definir cabeçalho

APLICA-SE A: Todas as camadas de gerenciamento de API

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

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

Nota

Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Para ajudá-lo a configurar essa política, o portal fornece um editor guiado baseado em formulários. Saiba mais sobre como definir ou editar 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

Nome Descrição Necessário Predefinição
existe-ação Especifica a ação a ser executada quando o cabeçalho já estiver especificado. Esse atributo deve ter um dos seguintes valores.

- override - substitui o valor do cabeçalho existente.
- skip - não substitui o valor de cabeçalho existente.
- append - acrescenta o valor ao valor do cabeçalho existente.
- delete - Remove o cabeçalho do pedido.

Quando definido como override, o alistamento de várias entradas com o mesmo nome resulta no cabeçalho sendo definido de acordo com todas as entradas (que serão listadas várias vezes), apenas os valores listados serão definidos no resultado.

São permitidas expressões de política.
Não override
nome Especifica o nome do cabeçalho a ser definido. São permitidas expressões de política. Sim N/A

Elementos

Nome Descrição Necessário
valor Especifica o valor do cabeçalho a definir. São permitidas expressões de política. Para vários cabeçalhos com o mesmo nome, adicione elementos adicionais value . Não

Utilização

Notas de utilização

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

headerName: value1,value2,value3

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

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

No caso dessas 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

Aplicam-se as seguintes limitações:

  • A remoção do Server cabeçalho não é suportada.
  • Cabeçalhos: Connection, ContentLength, KeepAlive, não TransferEncoding 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>

Remove header

 <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 ao 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, consulte Expressões de política e variável de contexto.

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