Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Headers : méthode getSetCookie()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2023.

Note : Cette fonctionnalité est disponible via les Web Workers.

La méthode getSetCookie() de l'interface Headers retourne un tableau contenant les valeurs de toutes les en-têtes Set-Cookie associé à une réponse. Cela permet aux objets Headers de gérer plusieurs en-têtes Set-Cookie, ce qui n'était pas possible avant sa mise en œuvre.

Cette méthode est destinée à être utilisée dans des environnements serveur (par exemple Node.js). Les navigateurs empêchent le code JavaScript côté client d'accéder à l'en-tête Set-Cookie, conformément à la spécification Fetch, qui définit Set-Cookie comme un nom d'en-tête de réponse interdit (angl.) qui doit être filtré (angl.) de toute réponse exposée au code front-end.

Syntaxe

js
getSetCookie()

Paramètres

Aucun.

Valeur de retour

Un tableau de chaînes de caractères représentant les valeurs de toutes les en-têtes Set-Cookie différentes, associées à une réponse.

Si aucun en-tête Set-Cookie n'est défini, la méthode retourne un tableau vide ([ ]).

Exemples

Comme mentionné précédemment, l'exécution de code comme suit côté client ne retourne aucun résultat — Set-Cookie est filtré des Headers récupérés sur le réseau.

js
fetch("https://example.com").then((response) => {
  console.log(response.headers.getSetCookie());
  // Aucune valeur d'en-tête retournée
});

Cependant, ce qui suit pourrait être utilisé pour interroger plusieurs valeurs Set-Cookie. Cela est beaucoup plus utile côté serveur, mais cela fonctionnerait également côté client.

js
const enTetes = new Headers({
  "Set-Cookie": "name1=value1",
});

enTetes.append("Set-Cookie", "name2=value2");

enTetes.getSetCookie();
// Retourne ["name1=value1", "name2=value2"]

Spécifications

Spécification
Fetch
# dom-headers-getsetcookie

Compatibilité des navigateurs

Voir aussi