Extraire les en-têtes : dans le champ d’application, global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 8 minutes de lecture
  • L’API Extraire les en-têtes vous permet de récupérer, de définir, d’ajouter et de supprimer des en-têtes d’une liste d’en-têtes de demande ou de réponse.

    Cette API fait partie d’un ensemble d’API d’extraction , qui fournissent diverses actions pour extraire des ressources à partir de sites web externes. La collection complète d’API d’extraction comprend :

    Pour prendre en charge les actions d’extraction, la propriété système glide.hosts.allowlist permet de contrôler les hôtes auxquels une méthode d’extraction peut accéder. Il s’applique aux API HTTP comme RestMessageV2 et celles mentionnées ci-dessus. Pour plus d’informations sur glide.hosts.allowlist, reportez-vous à la section Available system properties.

    Extraire les en-têtes : en-têtes (init)

    Le constructeur Headers() crée un nouvel objet Headers vide. Vous pouvez également créer et préremplir un nouvel objet En-têtes avec la liste des en-têtes HTTP à l’aide init du paramètre.

    Remarque :
    Pour ajouter des en-têtes à un objet En-têtes existant, utilisez Extraire les en-têtes : append(nom de chaîne, valeur de chaîne).
    Tableau 1. Paramètres
    Nom Type Description
    Init Objet Facultatif. Littéral d’objet contenant des en-têtes HTTP pour préremplir le nouvel objet En-têtes.
    Valeurs valides :
    • Un littéral d’objet avec des valeurs de chaîne,
    • Un tableau de paires nom-valeur,
    • Un objet En-têtes existant (où le nouvel objet copie les données de l’objet existant).

    Par défaut : crée un objet d’en-têtes vide

    L’exemple suivant montre comment utiliser le constructeur Headers() pour créer un nouvel objet Headers avec et sans en-têtes.

    //Intializes an empty Headers object.
    var headers = new Headers();
    
    //Sets the new Headers object with a list of headers.
    var httpHeaders = {
      "Content-Type": "application/json", 
      "X-My-Custom-Header": "XYZ", 
    }; 
    
    var myHeaders = new Headers(httpHeaders);

    Extraire les en-têtes : append(nom de chaîne, valeur de chaîne)

    Ajoute une nouvelle valeur à un en-tête existant à l’intérieur d’un objet En-têtes, ou ajoute l’en-tête s’il n’existe pas déjà.

    Si l’en-tête spécifié existe déjà, append() remplace sa valeur existante par la valeur spécifiée. Si l’en-tête spécifié existe déjà et accepte plusieurs valeurs, append() ajoute la nouvelle valeur à la fin de l’ensemble de valeurs. Pour remplacer l’ancienne valeur par une nouvelle, utilisez Extraire les en-têtes : set(nom de chaîne, valeur de chaîne).

    Tableau 2. Paramètres
    Nom Type Description
    nom Chaîne Requis. Nom de l’en-tête HTTP à ajouter à l’objet En-têtes.
    valide Chaîne Requis. La valeur de l’en-tête HTTP à ajouter.
    Tableau 3. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment ajouter un en-tête à l’aide de append() :

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Content-Type", "image/jpeg");
    myHeaders.get("Content-Type"); // Returns 'image/jpeg'

    Sortie :

    “image/jpeg”

    L’exemple suivant montre comment ajouter un nouvel en-tête qui accepte plusieurs valeurs :

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Accept-Encoding", "deflate");
    myHeaders.append("Accept-Encoding", "gzip");
    myHeaders.get("Accept-Encoding"); // Returns 'deflate, gzip'

    Sortie :

    {“deflate”, “gzip”} 

    Extraire les en-têtes : delete(nom de chaîne)

    Supprime un en-tête de l’objet En-têtes actuel.

    Tableau 4. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’en-tête HTTP à supprimer de l’objet En-têtes.
    Tableau 5. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment ajouter d’abord un en-tête à l’objet En-têtes à l’aide de append(), puis supprimer le même en-tête à l’aide de delete().

    var myHeaders =newHeaders();// Currently empty
    myHeaders.append("Content-Type","image/jpeg");
    myHeaders.get("Content-Type");// Returns 'image/jpeg'

    L’exemple suivant montre que le point de terminaison renvoie une valeur null si l’objet En-têtes est déjà supprimé :

    myHeaders.delete("Content-Type");
    myHeaders.get("Content-Type");// Returns null, as it has been deleted

    Sortie :

    null

    Extraire les en-têtes : entrries()

    Renvoie un itérateur vous permettant de parcourir toutes les paires clé-valeur (représentées par des chaînes) contenues dans l’objet En-têtes.

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    Itérateur Renvoie un objet itérateur, où les paires clé/valeur sont des objets String.

    L’exemple suivant montre comment créer un objet d’en-têtes de test, puis utiliser la méthode entrries() pour renvoyer un itérateur de toutes les valeurs de l’objet En-têtes.

    // Create a test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "text/xml");
    myHeaders.append("Vary", "Accept-Language");
    
    // Display the key/value pairs
    for (var pair of myHeaders.entries()) {
      console.log(`${pair[0]}: ${pair[1]}`);
    }

    Sortie :

    content-type: text/xml
    vary: Accept-Language

    Récupérer les en-têtes : forEach(Function callbackFn, Object thisArg)

    Exécute une fonction de rappel une fois pour chaque paire clé/valeur dans l’objet En-têtes.

    La fonction de rappel ne s’exécute pas pour les clés supprimées, mais pour les clés existantes, même si la valeur n’est pas définie.

    Tableau 8. Paramètres
    Nom Type Description
    callbackFn Fonction Fonction à exécuter pour chaque paire clé/valeur dans l’objet En-têtes.

    Conforme au format : callbackFn(clé de chaîne, valeur de chaîne).

    callbackFn.value Chaîne Valeur de l’entrée d’en-tête.
    callbackFn.key Chaîne Nom de l’entrée d’en-tête.
    callBackFn.object En-tête Les en-têtes s’opposent à itérer.
    thisArg Objet Valeur à utiliser comme ceci lors de l’exécution du rappel.
    Tableau 9. Renvoie
    Type Description
    Néant

    L’exemple suivant consigne une ligne pour chaque paire clé/valeur dans l’objet En-têtes :

    // Create a new test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "application/json");
    myHeaders.append("Cookie", "This is a demo cookie");
    myHeaders.append("compression", "gzip");
    
    // Display the key/value pairs
    myHeaders.forEach((value, key) => {
      console.log(`${key} ==> ${value}`);
    });

    Sortie :

    compression ==> gzip
    content-type ==> application/json
    cookie ==> This is a demo cookie

    Extraire les en-têtes : get(nom de chaîne)

    Renvoie une chaîne de toutes les valeurs d’en-tête d’un objet d’en-tête spécifié ou renvoie null si l’en-tête n’existe pas.

    Tableau 10. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’en-tête HTTP dont vous souhaitez récupérer les valeurs (sans respect de la casse).
    Tableau 11. Renvoie
    Type Description
    Chaîne Valeur de l’en-tête récupéré (représenté sous forme de chaîne) ou nul si l’en-tête n’est pas défini.

    Renvoie une erreur si l’en-tête n’existe pas. Renvoie une erreur de type si le nom donné n’est pas celui d’un en-tête HTTP.

    Ce qui suit montre comment créer un objet d’en-têtes avec plusieurs en-têtes à l’aide de append(), puis renvoyer les valeurs de l’en-tête à l’aide de la méthode get( ).

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Accept-Encoding", "deflate");
    myHeaders.append("Accept-Encoding", "gzip");
    myHeaders.get("Accept-Encoding"); // Returns "deflate, gzip"
    myHeaders
      .get("Accept-Encoding")
      .split(",")
      .map((v) => v.trimStart()); // Returns [ "deflate", "gzip"
    

    Sortie :

    [ "deflate", "gzip" ]

    Récupérer les en-têtes : getSetCookie()

    Renvoie tous les en-têtes Set-Cookie associés à une réponse.

    Tableau 12. Paramètres
    Nom Type Description
    Aucun
    Tableau 13. Renvoie
    Type Description
    Tableau de chaînes Tableau de chaînes contenant les valeurs de tous les en-têtes Set-Cookie associés à une réponse. La méthode renvoie un tableau vide si aucun en-tête Set-Cookie n’est défini.

    L’exemple de script suivant montre comment utiliser getSetCookie() pour renvoyer les valeurs d’en-tête associées à la réponse :

    var headers = new Headers({
      "Set-Cookie": "name1=value1",
    });
    
    headers.append("Set-Cookie", "name2=value2");
    
    headers.getSetCookie();

    Sortie :

    ["name1=value1", "name2=value2"]

    Extraire les en-têtes : a (nom de chaîne)

    Renvoie un booléen indiquant si un objet En-têtes contient l’en-tête donné.

    Tableau 14. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’en-tête HTTP pour vérifier s’il existe ou non sur l’objet En-têtes.
    Tableau 15. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’en-tête spécifié existe dans l’objet En-têtes. Une TypeError est renvoyée si l’en-tête donné n’est pas un nom d’en-tête HTTP valide.
    Valeurs possibles :
    • vrai : l’en-tête existe sur l’objet.
    • false : l’en-tête n’existe pas sur l’objet.

    L’exemple suivant utilise les méthodes Headers() et append() pour créer et définir un objet Headers avec l’en-tête Content-Type. L’exemple utilise ensuite la méthode has() pour montrer que l’en-tête Content-Type existe sur l’objet En-têtes mais pas un en-tête Accept-Coding.

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Content-Type", "image/jpeg");
    myHeaders.has("Content-Type"); // Returns true
    myHeaders.has("Accept-Encoding"); // Returns false

    Sortie :

    true
    false

    Extraire les en-têtes : keys()

    Renvoie un itérateur vous permettant de parcourir toutes les clés contenues dans un objet En-têtes.

    Utilisez la Extraire les en-têtes : values() méthode pour renvoyer toutes les clés d’en-tête.

    Tableau 16. Paramètres
    Nom Type Description
    Aucun
    Tableau 17. Renvoie
    Type Description
    Itérateur Renvoie un itérateur dans lequel les clés d’en-tête sont représentées sous forme de chaînes.

    L’exemple suivant montre comment créer un objet En-têtes avec des clés, puis utiliser la méthode keys() pour renvoyer une liste d’en-têtes disponibles.

    // Create a test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "text/xml");
    myHeaders.append("Vary", "Accept-Language");
    
    // Display the keys
    for (var key of myHeaders.keys()) {
      console.log(key);
    }

    Sortie :

    content-type
    vary

    Extraire les en-têtes : set(nom de chaîne, valeur de chaîne)

    Met à jour une valeur d’un en-tête existant à l’intérieur de l’objet En-têtes ou crée un nouvel en-tête avec la valeur donnée si l’en-tête n’existe pas déjà.

    Pour ajouter simplement une nouvelle valeur à un en-tête existant sans écraser de données, utilisez la Extraire les en-têtes : append(nom de chaîne, valeur de chaîne) méthode.

    Tableau 18. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’en-tête HTTP dans lequel définir une nouvelle valeur. Lève TypeError si le nom donné n’est pas le nom d’un en-tête HTTP.
    valide Chaîne Nouvelle valeur à définir pour l’en-tête donné.
    Tableau 19. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment définir un en-tête dans un nouvel objet En-têtes à l’aide de append(), puis réinitialiser la valeur à l’aide de set().

    var myHeaders = new Headers(); // Currently empty
    myHeaders.append("Content-Type", "image/jpeg");
    myHeaders.set("Content-Type", "text/html");

    Sortie :

    text/html

    L’exemple suivant montre comment définir une valeur dans un objet En-têtes lorsqu’il accepte plusieurs valeurs :

    myHeaders.set("Accept-Encoding", "deflate");
    myHeaders.set("Accept-Encoding", "gzip");
    myHeaders.get("Accept-Encoding");

    Sortie :

    gzip

    Extraire les en-têtes : values()

    Renvoie un itérateur vous permettant de parcourir toutes les valeurs d’en-tête contenues dans l’objet En-têtes.

    Utilisez la Extraire les en-têtes : keys() méthode pour renvoyer toutes les valeurs d’en-tête.

    Tableau 20. Paramètres
    Nom Type Description
    Aucun
    Tableau 21. Renvoie
    Type Description
    Chaîne Renvoie un itérateur dans lequel les valeurs d’en-tête sont représentées sous forme de chaînes.

    L’exemple suivant montre comment créer et définir d’abord un nouvel objet En-têtes avec plusieurs en-têtes à l’aide de la méthode append(), puis renvoyer une liste de toutes les valeurs d’en-tête dans le nouvel objet en appelant la méthode values(). Console.log() consigne la ligne dans les journaux système.

    // Create a test Headers object
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "text/xml");
    myHeaders.append("Vary", "Accept-Language");
    
    // Display the values
    for (var value of myHeaders.values()) {
      console.log(value);
    }

    Sortie :

    text/xml
    Accept-Language