기본적으로 개발자 프록시는 devproxyrc.json 파일에 구성된 URL과 일치하는 모든 요청을 가로채는 것입니다. 특정 구성 요소에서 발급한 요청과 같은 특정 요청만 가로채려는 경우 특정 헤더로 요청을 가로채도록 Dev Proxy를 구성할 수 있습니다.
특정 헤더가 있는 요청을 가로채려면 devproxyrc.json 파일에 filterByHeaders 속성을 추가합니다. 속성에서 filterByHeaders 요청을 필터링하는 데 사용할 헤더를 지정합니다. 각 헤더에 대해 요청을 가로채기 위해 개발자 프록시에 대해 헤더에 포함해야 하는 값을 지정합니다. 값을 비워 두면 개발자 프록시는 값에 관계없이 지정된 헤더가 포함된 요청을 가로채게 됩니다.
예: 특정 헤더 및 값으로 요청 가로채기
다음 예제에서는 값에 x-app가 포함된 contoso-intranet 헤더가 있는 요청을 가로채도록 Dev Proxy를 구성하는 방법을 보여줍니다.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
// [...] trimmed for brevity
],
"filterByHeaders": [
{
"name": "x-app",
"value": "contoso-intranet"
}
]
}
이 구성을 사용하여, 개발자 프록시는 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 버전과 같이 시간이 지남에 따라 변경될 수 있는 값으로 요청을 가로챌 수 있습니다.
예: 값에 관계없이 특정 헤더를 사용하여 요청 가로채기
값에 관계없이 특정 헤더가 포함된 요청을 가로채려면 값을 비워 둡니다.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
// [...] trimmed for brevity
],
"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
Dev Proxy