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-intranet
wartość :
{
"$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-intranet
elementu :
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