Condividi tramite


Plugin di Limitazione della Velocità

Simula i comportamenti del limite di frequenza.

Screenshot di un prompt dei comandi con Dev Proxy simulando la limitazione della frequenza nelle API GitHub.

Definizione dell'istanza del plug-in

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

Esempio di configurazione

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

Proprietà di configurazione

Proprietà Descrizione Predefinito
headerLimit Nome dell'intestazione della risposta che comunica il limite di limitazione della frequenza RateLimit-Limit
headerRemaining Nome dell'intestazione della risposta che comunica il numero rimanente di risorse prima della reimpostazione RateLimit-Remaining
headerReset Nome dell'intestazione della risposta che comunica il tempo rimanente fino alla reimpostazione RateLimit-Reset
headerRetryAfter Nome dell'intestazione della risposta che comunica il periodo di ripetizione dopo il tentativo Retry-After
costPerRequest Il numero di risorse che costa una richiesta 2
resetTimeWindowSeconds Tempo in secondi fino al successivo ripristino 60
warningThresholdPercent Percentuale di utilizzo che si verifica quando il superamento inizia a restituire le intestazioni di risposta di limitazione della frequenza 80
rateLimit Numero di risorse per un intervallo di tempo 120
whenLimitExceeded Il comportamento che il plug-in deve usare quando viene superato il limite. Usare Throttle o Custom. Throttle
resetFormat Formato utilizzato per determinare quando viene reimpostato il limite di velocità. Usare SecondsLeft o UtcEpochSeconds. SecondsLeft
customResponseFile File contenente una risposta di errore personalizzata usata quando viene superato il limite. rate-limit-response.json

Opzioni della riga di comando

Nessuno

Passo successivo