特定のヘッダーで要求をインターセプトする
既定では、開発プロキシは、 devproxyrc.json ファイルで構成されている URL に一致するすべての要求をインターセプトします。 特定のコンポーネントによって発行された要求など、特定の要求のみをインターセプトする場合は、特定のヘッダーで要求をインターセプトするように開発プロキシを構成できます。
特定のヘッダーで要求をインターセプトするには、 devproxyrc.json
ファイルに filterByHeaders
プロパティを追加します。 filterByHeaders
プロパティで、要求のフィルター処理に使用するヘッダーを指定します。 ヘッダーごとに、要求をインターセプトするために開発プロキシにヘッダーに含める必要がある値を指定します。 値を空のままにすると、Dev Proxy は、その値に関係なく、指定されたヘッダーを含む要求をインターセプトします。
例: 特定のヘッダーと値で要求をインターセプトする
次の例では、contoso-intranet
を含む値を持つx-app
ヘッダーを含む要求をインターセプトするように開発プロキシを構成する方法を示します。
{
"$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"
}
]
}
この構成を使用して、Dev Proxy は、contoso-intranet
値を持つx-app
ヘッダーを含む要求をインターセプトします。次に例を示します。
GET https://api.contoso.com/customers
x-app: contoso-intranet
Dev Proxy は、指定した値と部分的に一致する要求もインターセプトします。次に例を示します。
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 のバージョンなど、時間の経過と共に変化する可能性のある値で要求をインターセプトできます。
例: 値に関係なく、特定のヘッダーで要求をインターセプトする
値に関係なく、特定のヘッダーを含む要求をインターセプトするには、値を空のままにします。
{
"$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": ""
}
]
}
この構成を使用して、Dev Proxy は値に関係なく、 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
Dev Proxy