Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На первый взгляд
Цель: Фильтрация по определенным заголовкам
Время: 5 минут
Плагины: Отсутствуют
Предварительные требования:настройка прокси-сервера разработки
По умолчанию прокси-сервер разработки перехватывает все запросы, соответствующие URL-адресам, настроенным в файле devproxyrc.json . Если вы хотите перехватывать только определенные запросы, например запросы, выданные определенным компонентом, можно настроить прокси-сервер разработки для перехвата запросов с определенными заголовками.
Чтобы перехватывать запросы с определенными заголовками, в файле devproxyrc.json добавьте свойство filterByHeaders. В свойстве filterByHeaders укажите заголовки, которые необходимо использовать для фильтрации запросов. Для каждого заголовка укажите значение, которое он должен содержать, чтобы Dev Proxy перехватил запрос. Если значение остается пустым, прокси-сервер разработки перехватывает запросы, содержащие указанный заголовок, независимо от его значения.
Пример: перехват запросов с определенным заголовком и значением
В следующем примере показано, как настроить Dev Proxy для перехвата запросов с заголовком x-app, имеющим значение contoso-intranet.
Файл:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.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"
}
]
}
Используя эту конфигурацию, Dev Proxy перехватывает запросы, содержащие заголовок x-app со значением contoso-intranet, например:
GET https://api.contoso.com/customers
x-app: contoso-intranet
Прокси-сервер разработки также перехватывает запросы, частично соответствующие указанному значению, например:
GET https://api.contoso.com/customers
x-app: contoso-intranet-search
Прокси-сервер разработки не перехватывает следующий запрос, так как значение заголовка x-app не содержит contoso-intranet:
GET https://api.contoso.com/customers
x-app: contoso-public
Частичное сопоставление удобно и позволяет перехватывать запросы со значениями, которые могут изменяться с течением времени, например версией компонента или пакета SDK.
Пример. Перехват запросов с определенным заголовком независимо от значения
Чтобы перехватывать запросы, содержащие определенный заголовок, независимо от его значения, оставьте значение пустым:
Файл:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.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": ""
}
]
}
Используя эту конфигурацию, прокси-сервер разработки перехватывает запросы, содержащие x-contoso заголовок, независимо от его значения:
GET https://api.contoso.com/customers
x-contoso: api-sdk v1.0
Или сделайте так:
GET https://api.contoso.com/customers
x-contoso: intranet
Прокси-сервер разработки не перехватывает следующий запрос, так как он не имеет заголовка x-contoso :
GET https://api.contoso.com/customers
x-app: contoso-public