Adott fejlécekkel rendelkező kérések lehívása

Egy pillantással
Cél: Szűrés adott fejlécek szerint
Idő: 5 perc
Bővítmények: Nincs
Előfeltételek:Fejlesztői proxy beállítása

Alapértelmezés szerint a Dev Proxy elfogja az összes olyan kérést, amely megfelel a devproxyrc.json fájlban konfigurált URL-címeknek. Ha csak bizonyos kéréseket, például egy adott összetevő által kiadott kéréseket szeretne elfogni, konfigurálhatja a Dev Proxyt úgy, hogy az adott fejlécekkel rendelkező kéréseket elfogja.

Annak érdekében, hogy elfogja a megadott fejlécekkel rendelkező kéréseket, adja hozzá a tulajdonságot a devproxyrc.json fájl filterByHeaders részéhez. A tulajdonságban filterByHeaders adja meg a kérelmek szűréséhez használni kívánt fejléceket. Minden fejléchez adja meg azt az értéket, amelyet a fejlécnek tartalmaznia kell ahhoz, hogy a Dev Proxy elfogja a kérést. Ha üresen hagyja az értéket, a Dev Proxy elfogja a megadott fejlécet tartalmazó kéréseket, függetlenül annak értékétől.

Példa: Adott fejlécet és értéket tartalmazó kérelmek elfogása

Az alábbi példa bemutatja, hogyan konfigurálhatja a Dev Proxy-ot olyan kérések elfogására, amelyek tartalmazzák a x-app fejlécet, egy contoso-intranet-et tartalmazó értékkel.

Fájl:devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.contoso.com/*"
  ],
  "filterByHeaders": [
    {
      "name": "x-app",
      "value": "contoso-intranet"
    }
  ]
}

Ezzel a konfigurációval a Dev Proxy elfogja azokat a kéréseket, amelyek a x-app fejlécet a contoso-intranet értékkel együtt tartalmazzák, például:

GET https://api.contoso.com/customers
x-app: contoso-intranet

A fejlesztői proxy a megadott értéknek részben megfelelő kéréseket is elfogja, például:

GET https://api.contoso.com/customers
x-app: contoso-intranet-search

A fejlesztői proxy nem közvetíti a következő kérést, mert a x-app fejléc értéke nem tartalmazza a contoso-intranet értéket.

GET https://api.contoso.com/customers
x-app: contoso-public

A részleges egyeztetés kényelmes, és lehetővé teszi a kérések elfogását olyan értékekkel, amelyek idővel változhatnak, például az összetevő vagy az SDK-verzió.

Példa: Egy adott fejléccel rendelkező kérések elfogása az értéktől függetlenül

Egy adott fejlécet tartalmazó kérelmek elfogásához hagyja üresen az értéket, függetlenül attól, milyen érték szerepel benne.

Fájl:devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.contoso.com/*"
  ],
  "filterByHeaders": [
    {
      "name": "x-contoso",
      "value": ""
    }
  ]
}

Ezzel a konfigurációval a Dev Proxy elfogja a x-contoso fejlécet tartalmazó kéréseket, függetlenül annak értékétől:

GET https://api.contoso.com/customers
x-contoso: api-sdk v1.0

Vagy:

GET https://api.contoso.com/customers
x-contoso: intranet

A fejlesztői proxy nem fogja el a következő kérést, mert nincs x-contoso fejléce.

GET https://api.contoso.com/customers
x-app: contoso-public

Lásd még