Intercepter des requêtes avec des en-têtes spécifiques
Par défaut, le proxy de développement intercepte toutes les requêtes qui correspondent aux URL configurées dans le fichier devproxyrc.json . Lorsque vous souhaitez intercepter uniquement des requêtes spécifiques, telles que les demandes émises par un composant spécifique, vous pouvez configurer le proxy de développement pour intercepter les requêtes avec des en-têtes spécifiques.
Pour intercepter les requêtes avec des en-têtes spécifiques, dans le devproxyrc.json
fichier, ajoutez la filterByHeaders
propriété. Dans la filterByHeaders
propriété, spécifiez les en-têtes que vous souhaitez utiliser pour filtrer les demandes. Pour chaque en-tête, spécifiez la valeur que l’en-tête doit contenir pour que le proxy de développement intercepte la requête. Si vous laissez la valeur vide, le proxy de développement intercepte les requêtes qui contiennent l’en-tête spécifié, quelle que soit sa valeur.
Exemple : Intercepter des requêtes avec un en-tête et une valeur spécifiques
L’exemple suivant montre comment configurer le proxy de développement pour intercepter les requêtes qui contiennent l’en-tête x-app
avec une valeur qui contient contoso-intranet
:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.21.0/rc.schema.json",
"plugins": [
// [...] trimmed for brevity
],
"filterByHeaders": [
{
"name": "x-app",
"value": "contoso-intranet"
}
]
}
À l’aide de cette configuration, dev Proxy intercepte les requêtes qui contiennent l’en-tête x-app
avec la valeur contoso-intranet
, par exemple :
GET https://api.contoso.com/customers
x-app: contoso-intranet
Le proxy de développement intercepte également les requêtes qui correspondent partiellement à la valeur spécifiée, par exemple :
GET https://api.contoso.com/customers
x-app: contoso-intranet-search
Le proxy de développement n’intercepte pas la requête suivante, car la valeur de l’en-tête x-app
ne contient contoso-intranet
pas :
GET https://api.contoso.com/customers
x-app: contoso-public
La correspondance partielle est pratique et vous permet d’intercepter des requêtes avec des valeurs qui peuvent changer au fil du temps, telles que la version du composant ou du SDK.
Exemple : Intercepter des requêtes avec un en-tête spécifique, quelle que soit la valeur
Pour intercepter les requêtes qui contiennent un en-tête spécifique, quelle que soit sa valeur, laissez la valeur vide :
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
// [...] trimmed for brevity
],
"filterByHeaders": [
{
"name": "x-contoso",
"value": ""
}
]
}
À l’aide de cette configuration, dev Proxy intercepte les requêtes qui contiennent l’en-tête x-contoso
, quelle que soit sa valeur :
GET https://api.contoso.com/customers
x-contoso: api-sdk v1.0
Ou :
GET https://api.contoso.com/customers
x-contoso: intranet
Le proxy de développement n’intercepte pas la requête suivante, car il n’a pas l’en-tête x-contoso
:
GET https://api.contoso.com/customers
x-app: contoso-public