Extraire RequestInit : incluse dans le périmètre, globale
L’API RequestInit fournit des options permettant de configurer une demande d’extraction.
Vous pouvez passer un objet RequestInit dans le constructeur Request() ou directement dans l’appel de fonction fetch( ). Vous pouvez également construire une requête avec un appel RequestInit() et passer la requête à un appel fetch() avec un autre RequestInit(). Si vous faites cela lorsque la même option est définie aux deux endroits, alors la valeur transmise directement dans fetch() est utilisée.
- Fetch : fetch(ressource de chaîne, options de l’objet): démarre le processus d’extraction d’une ressource à partir du réseau.
- Extraire les en-têtes : incluse dans le périmètre, globale: récupérer et modifier les en-têtes de demande et de réponse.
- Demande d’extraction : incluse dans le périmètre, globale: créer un objet de demande.
- Extraire RequestInit : incluse dans le périmètre, globale: définissez des options pour configurer une demande d’extraction.
- Extraire la réponse : incluse dans le périmètre, globale: créer un objet de réponse.
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. Elle s’applique aux API HTTP telles que RestMessageV2 et celles mentionnées ci-dessus. Pour plus d’informations sur glide.hosts.allowlist, reportez-vous à la section Available system properties.
Extraire RequestInit : RequestInit
Définissez des options pour configurer une demande d’extraction. Vous pouvez transmettre un objet RequestInit dans le constructeur Request() ou directement dans l’appel de fonction fetch( ).
Propriétés RequestInit
L’API RequestInit prend en charge plusieurs propriétés facultatives qui peuvent être utilisées pour configurer le comportement des requêtes HTTP. Ses propriétés incluent la méthode (méthode HTTP), les en-têtes (en-têtes de demande), le corps (données à envoyer), le mode (mode CORS), les informations d’identification (détails d’authentification), le cache (comportement du cache) et d’autres comme la redirection, le référent et l’intégrité. Ces options vous permettent d’affiner le comportement des demandes pour divers cas d’utilisation. Pour lire des explications plus détaillées sur chaque propriété, consultez https://developer.mozilla.org/en-US/docs/Web/API/RequestInit.
| Nom de la propriété | Description |
|---|---|
| attributionReporting | Facultatif. Indique que vous souhaitez que la réponse de la demande puisse enregistrer une source d’attribution ou un déclencheur d’attribution basé sur JavaScript. attributionReporting est un objet contenant les propriétés suivantes :
Type de données : objet |
| body | Facultatif. Le corps de la demande contient du contenu à envoyer au serveur, par exemple dans une requête POST ou PUT. Types acceptés :
|
| BrowsingTopics | Facultatif. Marqueur indiquant si les rubriques sélectionnées pour l’utilisateur actuel doivent être envoyées dans un en-tête Sec-Browsing-Topics avec la demande associée. Valeurs acceptées :
Type de données : booléennes |
| cache | Facultatif. Mode de cache à utiliser pour la demande. Valeurs acceptées :
Le mode Type de données : chaîne |
| informations d'identification | Facultatif. Contrôle si le navigateur envoie ou non des informations d’identification avec la demande, ainsi que si les en-têtes de réponse Set-Cookie sont respectés. Les informations d’identification sont des cookies, des certificats clients TLS ou des en-têtes d’authentification contenant un nom d’utilisateur et un mot de passe. Valeurs acceptées :
Par défaut : same-origin Type de données : chaîne |
| en-têtes | Facultatif. Tous les en-têtes à ajouter à votre demande, contenus dans un objet Headers ou un littéral d’objet dont les clés sont les noms des en-têtes et dont les valeurs sont les valeurs d’en-tête. De nombreux en-têtes sont définis automatiquement par le navigateur et ne peuvent pas être définis par un script ; on les appelle des noms d’en-tête interdits. Si l’option Type de données : chaîne |
| Intégrité | Facultatif. Contient la valeur d’intégrité de sous-ressource de la demande. Cette option est activée lorsque la ressource est extraite. Le navigateur calcule le hachage de la ressource extraite à l’aide de l’algorithme spécifié. Si le résultat ne correspond pas à la valeur spécifiée, le navigateur rejette la demande d’extraction avec une erreur réseau. Le format de cette option est <hash-algo>-<hash-source> où :
La valeur par défaut est une chaîne vide. Type de données : chaîne |
| keepalive | Facultatif. Marqueur indiquant s’il faut abandonner la demande associée si la page qui l’a initiée est déchargée avant que la demande ne soit terminée. La taille du corps des demandes Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| method | Facultatif. Méthode de demande. Type de données : chaîne Par défaut : GET |
| Mode | Facultatif. Définit le comportement d’origine croisée de la demande. Valeurs valides :
Type de données : chaîne Par défaut : cors |
| Priorité | Facultatif. Spécifie la priorité de la demande d’extraction par rapport à d’autres demandes du même type. Valeurs valides :
Type de données : chaîne Par défaut : auto |
| Redirection | Facultatif. Détermine le comportement du navigateur dans le cas où le serveur répond avec un état de redirection. Valeurs acceptées :
Type de données : chaîne Par défaut : suivre |
| référant | Facultatif. Chaîne spécifiant la valeur à utiliser pour l’en-tête Référent de la demande. Valeurs et types de données acceptés :
Valeur par défaut : about :client |
| referrerPolicy | Facultatif. Chaîne qui définit une politique pour l’en-tête Référer. La syntaxe et la sémantique de cette option sont exactement les mêmes que pour l’en-tête Referrer-Policy. Type de données : chaîne |
| signal | Facultatif. Un AbortSignal. Si cette option est définie, la demande peut être annulée en appelant abort() sur l’AbortController correspondant.Type de données : chaîne |
| Type | Description |
|---|---|
| Néant |
Transmettre les options dans fetch()
Cet exemple montre comment transmettre les options de méthode, de corps et d’en-têtes directement dans la méthode fetch() :
async function post() {
const response = await fetch("https://example.org/post", {
method: "POST",
body: JSON.stringify({ username: "example" }),
headers: {
"Content-Type": "application/json",
},
});
console.log(response.status);
}
Transmettre les options dans le constructeur Request()
Cet exemple montre comment créer une requête et transmettre les options de méthode, de corps et d’en-têtes au constructeur et transmettre la requête dans fetch() :
async function post() {
const request = new Request("https://example.org/post", {
method: "POST",
body: JSON.stringify({ username: "example" }),
headers: {
"Content-Type": "application/json",
},
});
const response = await fetch(request);
console.log(response.status);
}
Transmettez les options dans Request() et fetch()
Cet exemple montre comment créer un Request() et passer les options de méthode, de corps et d’en-têtes dans le constructeur. Le script transmet ensuite la requête dans fetch() avec les options body et referer.
- méthode : « POST »
- en-têtes : {"content-Type » : « application/json"}
- corps : '{"username » :"example2"}'
- référent : « »
async function post() {
const request = new Request("https://example.org/post", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ username: "example1" }),
});
const response = await fetch(request, {
body: JSON.stringify({ username: "example2" }),
referrer: "",
});
console.log(response.status);
}