ConfigurationΒΆ

The following django settings are honored by the middleware.

RATELIMIT_GLOBAL
A comma (or some other delimiter) separated string that will be used to apply a global limit on all routes. Rate limit string notation for details.
RATELIMIT_CALLBACK
The callback which will be called when a rate limit is hit. Defaults to a 429 status code being returned.
RATELIMIT_KEY_FUNCTION
The default callable to use to derive the context of a request. This can either be the callable itself or a fully qualified path to a callable. The callable to accept a single request object as a parameter and return a string. Defaults to the ip address of the requesting user.
RATELIMIT_STORAGE_URL
One of memory://, redis://host:port or memcached://host:port. Using the redis storage requires the installation of the redis package while memcached relies on pymemcache.
RATELIMIT_STRATEGY
The rate limiting strategy to use. Rate limiting strategies for details.
RATELIMIT_HEADERS_ENABLED
Enables returning Rate-limiting Headers. Defaults to False
RATELIMIT_ENABLED
Overall kill switch for rate limits. Defaults to True
RATELIMIT_HEADER_LIMIT
Header for the current rate limit. Defaults to X-RateLimit-Limit
RATELIMIT_HEADER_RESET
Header for the reset time of the current rate limit. Defaults to X-RateLimit-Reset
RATELIMIT_HEADER_REMAINING
Header for the number of requests remaining in the current rate limit. Defaults to X-RateLimit-Remaining