Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Имитирует поведение ограничения скорости.
Пример конфигурации
{
"$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 |
Как долго в секундах до следующего сброса | шестьдесят |
warningThresholdPercent |
Процент использования, который при превышении начинает возвращать ограничения скорости, ограничивающие заголовки ответов | 80 |
rateLimit |
Количество ресурсов для периода времени | 120 |
whenLimitExceeded |
Поведение подключаемого модуля должно использоваться при превышении предела. Используйте Throttle или Custom. |
Throttle |
resetFormat |
Формат, используемый для определения времени сброса ограничения скорости. Используйте SecondsLeft или UtcEpochSeconds. |
SecondsLeft |
customResponseFile |
Файл, содержащий пользовательский ответ на ошибку, используемый при превышении предела. | rate-limit-response.json |
Параметры командной строки
Никакой
Замечания
Текст пользовательского ответа
Если для свойства в пользовательском файле ответа задано body значение JSON-объекта или массива, прокси-сервер разработки сериализует его в JSON. Если он задан в строке, прокси-сервер разработки отправляет строку as-isбез окружающих кавычек. Так как прокси-сервер разработки по умолчанию использует Content-Type заголовок, задайте Content-Type для заголовка application/jsonсоответствующее содержимое при возврате содержимого, отличного от JSON, напримерtext/plain.
Пользовательский заголовок ответа Content-Type
Если whenLimitExceeded задано Custom значение и пользовательский ответ имеет body заголовок, но не определяет Content-Type заголовок, прокси-сервер разработки возвращает ответ с заголовком Content-Type: application/json . Чтобы вернуть другой тип контента, добавьте Content-Type заголовок в пользовательский файл ответа. В прокси-сервере разработки используется указанное значение.