Поделиться через


RateLimitingPlugin

Имитирует поведение ограничения скорости.

Снимок экрана: командная строка с прокси-сервером разработки, имитирующим ограничение скорости в API-интерфейсах GitHub.

Определение экземпляра подключаемого модуля

{
  "name": "RateLimitingPlugin",
  "enabled": false,
  "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
  "configSection": "rateLimiting"
}

Пример конфигурации

{
  "rateLimiting": {
    "costPerRequest": 2,
    "rateLimit": 120
  }
}

Свойства конфигурации

Свойство Описание По умолчанию
headerLimit Имя заголовка ответа, сообщающего ограничение скорости RateLimit-Limit
headerRemaining Имя заголовка ответа, который сообщает оставшееся количество ресурсов перед сбросом RateLimit-Remaining
headerReset Имя заголовка ответа, который сообщает время, оставшееся до сброса RateLimit-Reset
headerRetryAfter Имя заголовка ответа, который сообщает о периоде повтора после Retry-After
costPerRequest Сколько ресурсов стоит запрос 2
resetTimeWindowSeconds Как долго в секундах до следующего сброса 60
warningThresholdPercent Процент использования при превышении начинает возвращать заголовки ответов с ограничением скорости. 80
rateLimit Количество ресурсов для временного периода 120
whenLimitExceeded Поведение, используемое подключаемым модулем при превышении ограничения. Используйте Throttle или Custom. Throttle
resetFormat Формат, используемый для определения времени сброса ограничения скорости. Используйте SecondsLeft или UtcEpochSeconds. SecondsLeft
customResponseFile Файл, содержащий настраиваемый ответ об ошибке, используемый при превышении ограничения. rate-limit-response.json

Параметры командной строки

None