Partager via


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-intranetpas :

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