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


Плагин для ограничения скорости

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

снимок экрана командной строки с ограничением скорости использования прокси-сервера разработки для API GitHub.

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

{
  "name": "RateLimitingPlugin",
  "enabled": false,
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
  "configSection": "rateLimiting"
}

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

{
  "rateLimiting": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/ratelimitingplugin.schema.json",
    "costPerRequest": 2,
    "rateLimit": 120
  }
}

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

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

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

Никакой

Следующий шаг