* remove survey notifications * substantially rate limit unauthenticated /api/ queries to encourage authenticated queries #853 * move api throttle class configuration to settings (#853) * #722 with a more generic validation approach * Add organisations and registered users to "Global System Statistics" in footer #620 * poetry relock * linting * regen docs * fix test data Co-authored-by: Stefan Pratter <stefan@20c.com> Co-authored-by: David Poarch <dpoarch@20c.com>
2.2 KiB
Generated from rest_throttles.py on 2022-02-07 09:42:46.681191
peeringdb_server.rest_throttles
Custom rate limit handlers for the REST API.
Classes
APIAnonUserThrottle
APIAnonUserThrottle(rest_framework.throttling.AnonRateThrottle)
Rate limiting for anonymous users.
Methods
allow_request
def allow_request(self, request, view)
Implement the check to see if the request should be throttled.
On success calls throttle_success.
On failure calls throttle_failure.
APIUserThrottle
APIUserThrottle(rest_framework.throttling.UserRateThrottle)
Rate limiting for authenticated users.
Methods
allow_request
def allow_request(self, request, view)
Implement the check to see if the request should be throttled.
On success calls throttle_success.
On failure calls throttle_failure.
FilterDistanceThrottle
FilterDistanceThrottle(peeringdb_server.rest_throttles.FilterThrottle)
Rate limiting for ?distance= queries.
FilterThrottle
FilterThrottle(rest_framework.throttling.SimpleRateThrottle)
Base class for API throttling targeted at specific query filters.
Scope name will be 'filter_{self.filter_name}'
Methods
_init_
def __init__(self)
Initialize self. See help(type(self)) for accurate signature.
allow_request
def allow_request(self, request, view)
Implement the check to see if the request should be throttled.
On success calls throttle_success.
On failure calls throttle_failure.
get_cache_key
def get_cache_key(self, request, view)
Should return a unique cache-key which can be used for throttling. Must be overridden.
May return None if the request should not be throttled.
IXFImportThrottle
IXFImportThrottle(rest_framework.throttling.UserRateThrottle)
Limits the rate of API calls that may be made by a given user.
The user id will be used as a unique cache key if the user is authenticated. For anonymous requests, the IP address of the request will be used.
Methods
get_cache_key
def get_cache_key(self, request, view)
Should return a unique cache-key which can be used for throttling. Must be overridden.
May return None if the request should not be throttled.