다음을 통해 공유


특정 헤더를 사용하여 요청 가로채기

기본적으로 개발자 프록시는 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