Partager via


Plugin de Limitation de Taux

Simule les comportements de limite de débit.

Capture d’écran d’une invite de commandes avec le proxy de développement qui simule la limitation du débit sur les API GitHub.

Définition de l’instance de plug-in

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

Exemple de configuration

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

Propriétés de configuration

Propriété Descriptif Faire défaut
headerLimit Nom de l’en-tête de réponse qui communique la limite de limitation de débit RateLimit-Limit
headerRemaining Nom de l’en-tête de réponse qui communique le nombre restant de ressources avant la réinitialisation RateLimit-Remaining
headerReset Nom de l’en-tête de réponse qui communique le temps restant jusqu’à la réinitialisation RateLimit-Reset
headerRetryAfter Nom de l’en-tête de réponse qui communique la nouvelle tentative après la période Retry-After
costPerRequest Combien de ressources coûte une demande 2
resetTimeWindowSeconds Durée en secondes jusqu’à la réinitialisation suivante soixante
warningThresholdPercent Pourcentage d’utilisation lorsque le dépassement commence à retourner des en-têtes de réponse de limitation du taux 80
rateLimit Nombre de ressources pour une fenêtre de temps 120
whenLimitExceeded Comportement que le plug-in doit utiliser lorsque la limite est dépassée. Utilisez Throttle ou Custom. Throttle
resetFormat Format utilisé pour déterminer quand la limite de débit est réinitialisée. Utilisez SecondsLeft ou UtcEpochSeconds. SecondsLeft
customResponseFile Fichier contenant une réponse d’erreur personnalisée utilisée lorsque la limite est dépassée. rate-limit-response.json

Options de ligne de commande

Aucun

Étape suivante