Partilhar via


Plugin de Limitação de Taxa (RateLimitingPlugin)

Simula comportamentos de limite de taxa.

Captura de tela de um prompt de comando com o Dev Proxy simulando a limitação de taxa em APIs do GitHub.

Definição de instância de plug-in

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

Exemplo de configuração

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

Propriedades de configuração

Propriedade Descrição Inadimplência
headerLimit Nome do cabeçalho de resposta que comunica o limite de limitação de taxa RateLimit-Limit
headerRemaining Nome do cabeçalho de resposta que comunica o número restante de recursos antes da redefinição RateLimit-Remaining
headerReset Nome do cabeçalho de resposta que comunica o tempo restante até a redefinição RateLimit-Reset
headerRetryAfter Nome do cabeçalho de resposta que comunica o período de repetição após Retry-After
costPerRequest Quantos recursos custa um pedido 2
resetTimeWindowSeconds Quanto tempo em segundos até a próxima reposição 60
warningThresholdPercent A porcentagem de uso que é excedida começa a retornar cabeçalhos de taxa limitando a resposta 80
rateLimit Número de recursos para uma janela de tempo cento e vinte
whenLimitExceeded O comportamento que o plugin deve usar quando o limite é excedido. Use Throttle ou Custom. Throttle
resetFormat O formato usado para determinar quando o limite de taxa é redefinido. Use SecondsLeft ou UtcEpochSeconds. SecondsLeft
customResponseFile Arquivo contendo uma resposta de erro personalizada usada quando o limite é excedido. rate-limit-response.json

Opções de linha de comando

Nenhum

Próximo passo