Udostępnij za pośrednictwem


Przechwytywanie żądań z określonymi nagłówkami

Domyślnie serwer proxy deweloperów przechwytuje wszystkie żądania zgodne z adresami URL skonfigurowanymi w pliku devproxyrc.json . Jeśli chcesz przechwycić tylko określone żądania, takie jak żądania wystawione przez określony składnik, możesz skonfigurować serwer proxy deweloperów do przechwytywania żądań z określonymi nagłówkami.

Aby przechwycić żądania z określonymi nagłówkami, w devproxyrc.json pliku dodaj filterByHeaders właściwość . filterByHeaders We właściwości określ nagłówki, których chcesz użyć do filtrowania żądań. Dla każdego nagłówka określ wartość, która ma zawierać nagłówek dla serwera proxy deweloperów w celu przechwycenia żądania. Jeśli pozostawisz wartość pustą, serwer proxy deweloperów przechwytuje żądania zawierające określony nagłówek, niezależnie od jego wartości.

Przykład: przechwytywanie żądań z określonym nagłówkiem i wartością

W poniższym przykładzie pokazano, jak skonfigurować serwer proxy deweloperów do przechwytywania żądań zawierających x-app nagłówek z wartością zawierającą contoso-intranetwartość :

{
  "$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"
    }
  ]
}

Korzystając z tej konfiguracji, serwer proxy deweloperów przechwytuje żądania zawierające x-app nagłówek z wartością contoso-intranet, na przykład:

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

Serwer proxy deweloperów przechwytuje również żądania częściowo zgodne z określoną wartością, na przykład:

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

Serwer proxy dev nie przechwytuje następującego żądania, ponieważ wartość nagłówka x-app nie zawiera contoso-intranetelementu :

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

Częściowe dopasowywanie jest wygodne i umożliwia przechwytywanie żądań przy użyciu wartości, które mogą ulec zmianie w czasie, takich jak składnik lub wersja zestawu SDK.

Przykład: Przechwytywanie żądań z określonym nagłówkiem niezależnie od wartości

Aby przechwycić żądania zawierające określony nagłówek, niezależnie od jego wartości, pozostaw wartość pustą:

{
  "$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": ""
    }
  ]
}

Korzystając z tej konfiguracji, serwer proxy deweloperów przechwytuje żądania, które zawierają x-contoso nagłówek, niezależnie od jego wartości:

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

Lub:

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

Serwer proxy dev nie przechwytuje następującego żądania, ponieważ nie ma nagłówka x-contoso :

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