

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Aplicaciones auxiliares para HTTP en \$1util.http
<a name="http-helpers-in-utils-http"></a>

**nota**  
Ahora admitimos de forma básica el tiempo de ejecución APPSYNC\$1JS y su documentación. Considere la opción de utilizar el tiempo de ejecución APPSYNC\$1JS y sus guías [aquí](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html).

La utilidad `$util.http` proporciona métodos auxiliares que puede utilizar para gestionar parámetros de solicitud HTTP y añadir encabezados de respuesta.

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

** `$util.http.copyHeaders(Map) : Map` **  
Copia los encabezados del mapa, excluidos los siguientes encabezados HTTP restringidos:  
+ transfer-encoding
+ connection
+ host
+ expect
+ keep-alive
+ upgrade
+ proxy-authenticate
+ proxy-authorization
+ te
+ content-length
Esta utilidad se puede usar para reenviar encabezados de solicitud al siguiente punto de conexión HTTP.  

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

**\$1util.http. addResponseHeader(Cadena, objeto)**  
Añade un único encabezado personalizado con el nombre (`String`) y el valor (`Object`) de la respuesta. Se aplican las siguientes restricciones:  
+ Además de la lista de encabezados restringidos para `copyHeaders(Map)`, los nombres del encabezado no pueden coincidir con ninguno de los siguientes:
  + 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
+ Los nombres del encabezado no pueden comenzar por los prefijos restringidos `x-amzn-` o `x-amz-`.
+ El tamaño de los encabezados de respuesta personalizada no puede superar los 4 KB. Esto incluye los nombres y valores del encabezado.
+ Debe definir cada encabezado de respuesta una vez por operación de GraphQL. Sin embargo, si define un encabezado personalizado con el mismo nombre varias veces, la definición más reciente aparecerá en la respuesta. Todos los encabezados se contabilizan para el límite de tamaño del encabezado independientemente de los nombres.
+ Los encabezados con un nombre vacío o restringido `(String)` o un valor nulo `(Object)` se ignorarán y generarán un error `ResponseHeaderError` que se agregará al resultado `errors` de la operación.

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

****`$util.http.addResponseHeaders(Map)`****  
Agrega varios encabezados de respuesta a la respuesta desde el mapa de nombres `(String)` y los valores `(Object)` especificados. Las mismas limitaciones enumeradas para el método `addResponseHeader(String, Object)` también se aplican a este método.  

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