RateLimitingPlugin
Simulates rate-limit behaviors.
Plugin instance definition
{
"name": "RateLimitingPlugin",
"enabled": false,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "rateLimiting"
}
Configuration example
{
"rateLimiting": {
"costPerRequest": 2,
"rateLimit": 120
}
}
Configuration properties
Property | Description | Default |
---|---|---|
headerLimit |
Name of the response header that communicates the rate-limiting limit | RateLimit-Limit |
headerRemaining |
Name of the response header that communicates the remaining number of resources before the reset | RateLimit-Remaining |
headerReset |
Name of the response header that communicates the time remaining until the reset | RateLimit-Reset |
headerRetryAfter |
Name of the response header that communicates the retry-after period | Retry-After |
costPerRequest |
How many resources does a request cost | 2 |
resetTimeWindowSeconds |
How long in seconds until the next reset | 60 |
warningThresholdPercent |
The percentage of use that's when exceeded starts returning rate limiting response headers | 80 |
rateLimit |
Number of resources for a time window | 120 |
whenLimitExceeded |
The behavior the plugin should use when limit is exceeded. Use Throttle or Custom . |
Throttle |
resetFormat |
The format used to determine when the rate limit resets. Use SecondsLeft or UtcEpochSeconds . |
SecondsLeft |
customResponseFile |
File containing a custom error response used when limit is exceeded. | rate-limit-response.json |
Command line options
None
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.