Extraire RequestInit : dans le champ d’application, global
L’API RequestInit fournit des options pour 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 d’objet): démarre le processus d’extraction d’une ressource à partir du réseau.
- Extraire les en-têtes : dans le champ d’application, global: récupérer et modifier les en-têtes de demande et de réponse.
- Demande d’extraction : définie, globale: créer un objet de demande.
- Extraire RequestInit : dans le champ d’application, global: définir des options pour configurer une demande d’extraction.
- Récupérer la réponse : scoped,global: 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. 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 RequestInit : RequestInit
Définissez des options pour configurer une demande d’extraction. Vous pouvez passer 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é, reportez-vous à la section https://developer.mozilla.org/en-US/docs/Web/API/RequestInit.
| Nom de la propriété | Description |
|---|---|
| attribution de rapports | 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 requête 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 :
Valeur 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 ; ils sont appelés noms d’en-tête interdits. Si l’option de Type de données : chaîne |
| Intégrité | Facultatif. Contient la valeur d’intégrité de sous-ressource de la demande. Cette vérification est effectuée lors de l’extraction de la ressource. 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 à l’origine 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. La méthode de demande. Type de données : chaîne Valeur 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 Valeur 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 : follow |
| 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 |
Passer les options dans fetch()
Cet exemple montre comment passer 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);
}
Transmettez les options dans le constructeur Request()
Cet exemple montre comment créer une requête, transmettre les options de méthode, de corps et d’en-têtes dans le 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 des 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);
}