속도 제한 플러그인

속도 제한 동작을 시뮬레이션합니다.

GitHub API에서 속도 제한을 시뮬레이션하는 개발자 프록시가 있는 명령 프롬프트의 스크린샷

구성 예제

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "RateLimitingPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "rateLimiting"
    }
  ],
  "rateLimiting": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/ratelimitingplugin.schema.json",
    "costPerRequest": 2,
    "rateLimit": 120
  }
}

구성 속성

재산 묘사 기본값
headerLimit 속도 제한 제한을 전달하는 응답 헤더의 이름 RateLimit-Limit
headerRemaining 다시 설정하기 전에 남은 리소스 수를 전달하는 응답 헤더의 이름 RateLimit-Remaining
headerReset 다시 설정될 때까지 남은 시간을 전달하는 응답 헤더의 이름입니다. RateLimit-Reset
headerRetryAfter 재시도 후 기간을 전달하는 응답 헤더의 이름 Retry-After
costPerRequest 요청 비용을 수행하는 리소스 수 2
resetTimeWindowSeconds 다음 재설정까지의 시간(초) 60 (육십)
warningThresholdPercent 초과할 때의 사용 비율은 응답 헤더를 제한하는 속도 반환을 시작합니다. 80
rateLimit 기간의 리소스 수 백이십
whenLimitExceeded 제한을 초과할 때 플러그 인이 사용해야 하는 동작입니다. Throttle 사용하거나 Custom. Throttle
resetFormat 속도 제한이 재설정되는 시기를 결정하는 데 사용되는 형식입니다. SecondsLeft 사용하거나 UtcEpochSeconds. SecondsLeft
customResponseFile 제한을 초과할 때 사용되는 사용자 지정 오류 응답을 포함하는 파일입니다. rate-limit-response.json

명령줄 옵션

없음

설명

사용자 지정 응답 본문

사용자 지정 응답 파일의 body 속성을 JSON 개체 또는 배열로 설정하면 Dev Proxy가 JSON으로 직렬화합니다. 문자열로 설정하면 개발자 프록시는 따옴표 없이 문자열 as-is보냅니다. 개발자 프록시는 헤더를 Content-Type 기본값으로 설정하므로 application/jsonJSON이 아닌 콘텐츠를 반환할 때 헤더를 콘텐츠와 일치하도록 설정합니다 Content-Type . 예를 들면 다음과 같습니다 text/plain.

사용자 지정 응답 Content-Type 헤더

설정 Custom 되고 사용자 지정 응답에 헤더가 body 있지만 정의 Content-Type 되지 않은 경우 whenLimitExceeded Dev Proxy는 헤더를 사용하여 Content-Type: application/json 응답을 반환합니다. 다른 콘텐츠 형식을 반환하려면 사용자 지정 응답 파일에 헤더를 추가 Content-Type 합니다. 개발자 프록시는 사용자가 지정한 값을 사용합니다.

다음 단계