

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Auxiliares HTTP em \$1util.http
<a name="http-helpers-in-utils-http"></a>

**nota**  
Agora, oferecemos suporte principalmente ao runtime do APPSYNC\$1JS e sua documentação. Considere usar o runtime do APPSYNC\$1JS e seus guias [aqui](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html).

O utilitário `$util.http` fornece métodos auxiliares que podem ser usados para gerenciar parâmetros de solicitação HTTP e adicionar cabeçalhos de resposta.

## Lista de utilitários \$1util.http
<a name="http-helpers-in-utils-http-list"></a>

** `$util.http.copyHeaders(Map) : Map` **  
Copia os cabeçalhos do mapa, exceto os seguintes cabeçalhos HTTP restritos:  
+ transfer-encoding
+ connection
+ host
+ expect
+ keep-alive
+ upgrade
+ proxy-authenticate
+ proxy-authorization
+ te
+ content-length
Você pode usar este utilitário a fim de encaminhar cabeçalhos de solicitação para o endpoint HTTP posterior.  

```
{
    ...
    "params": {
        ...
        "headers": $util.http.copyHeaders($ctx.request.headers),
        ...
    },
    ...
}
```

**\$1 útil.http. addResponseHeader(Cadeia de caracteres, objeto)**  
Adiciona um único cabeçalho personalizado com o nome (`String`) e o valor (`Object`) da resposta. As limitações a seguir se aplicam a:  
+ Além da lista de cabeçalhos restritos para `copyHeaders(Map)`, os nomes de cabeçalho não podem corresponder a nenhuma das seguintes opções:
  + Access-Control-Allow-Credentials
  + Access-Control-Allow-Origin
  + Access-Control-Expose-Headers
  + Access-Control-Max-Age
  + Access-Control-Allow-Methods
  + Access-Control-Allow-Headers
  + Vary
  + Content-Type
+ Os nomes de cabeçalho não podem começar com prefixos restritos, como `x-amzn-` ou `x-amz-`.
+ O tamanho dos cabeçalhos de resposta personalizados não pode exceder 4 KB. Isso inclui nomes e valores de cabeçalho.
+ Você deve definir cada cabeçalho de resposta uma vez por operação do GraphQL. No entanto, se você definir um cabeçalho personalizado com o mesmo nome várias vezes, a definição mais recente aparecerá na resposta. Todos os cabeçalhos são contabilizados para o limite de tamanho do cabeçalho, independentemente do nome.
+ Cabeçalhos com um nome `(String)` vazio ou restrito ou um valor `(Object)` nulo serão ignorados e gerarão um erro `ResponseHeaderError` adicionado à saída `errors` da operação.

```
export function request(ctx) {
  util.http.addResponseHeader('itemsCount', 7)
  util.http.addResponseHeader('render', ctx.args.render)
  return {}
}
```

****`$util.http.addResponseHeaders(Map)`****  
Adiciona vários cabeçalhos de resposta à resposta do mapa especificado de nomes `(String)` e valores `(Object)`. As mesmas limitações listadas para o método `addResponseHeader(String, Object)` também se aplicam a esse método.  

```
export function request(ctx) {
  const headers = {
    headerInt: 12,
    headerString: 'stringValue',
    headerObject: {
      field1: 7,
      field2: 'string'
    }
  }
  util.http.addResponseHeaders(headers)
  return {}
}
```