View a markdown version of this page

assistants HTTP dans util.http - AWS AppSync GraphQL

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

assistants HTTP dans util.http

L'util.httputilitaire fournit des méthodes d'assistance que vous pouvez utiliser pour gérer les paramètres des requêtes HTTP et ajouter des en-têtes de réponse.

liste des utilitaires util.http

util.http.copyHeaders(headers)

Copie les en-têtes de la carte, à l'exception des en-têtes HTTP restreints suivants :

  • transfer-encoding

  • connection

  • host

  • expect

  • keep-alive

  • upgrade

  • proxy-authenticate

  • proxy-authorization

  • te

  • content-length

util.http.addResponseHeader(String, Object)

Ajoute un seul en-tête personnalisé avec le nom (String) et la valeur (Object) de la réponse. Les limites suivantes s'appliquent :

  • Outre la liste des en-têtes restreints pourcopyHeaders(headers), les noms des en-têtes ne peuvent correspondre à aucune des valeurs suivantes :

    • 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

  • Les noms d'en-tête ne peuvent pas commencer par les préfixes restreints x-amzn- oux-amz-.

  • La taille des en-têtes de réponse personnalisés ne peut pas dépasser 4 Ko. Cela inclut les noms et les valeurs des en-têtes.

  • Vous devez définir chaque en-tête de réponse une fois par opération GraphQL. Toutefois, si vous définissez plusieurs fois un en-tête personnalisé portant le même nom, la définition la plus récente apparaît dans la réponse. Tous les en-têtes sont pris en compte dans la limite de taille d'en-tête, quelle que soit leur dénomination.

  • Les en-têtes dont le nom est vide ou restreint (String) ou dont la valeur est nulle (Object) seront ignorés et une ResponseHeaderError erreur sera ajoutée à la errors sortie de l'opération.

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

Ajoute plusieurs en-têtes de réponse à la réponse à partir de la carte de noms (String) et de valeurs (Object) spécifiée. Les limites répertoriées pour la addResponseHeader(String, Object) méthode s'appliquent également à cette méthode.

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