1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Files
peeringdb-peeringdb/docs/dev/modules/rest_throttles.py.md
Matt Griswold 57a4175c00 Support 202202 (#1125)
* New Field "Health Check" #512

* Add status_dashboard to fields #512

* RS Peer Checkbox also visible on IX Site #727

* Add "Management" search field to Advanced Search of Exchanges #506

* wrap correctly on mobile #881

* missing delete button for user #653

* Removed cruft from IX view template #881

* To force or not to force www, that is a question #916

* add health check fields to entity creation forms (fac, ix, net) (#512)

* status_dashboard should accept null values #512

* Sort usergroup names in https://peeringdb.com/cp/peeringdb_server/userpermission/xxxxx numerically #656

* fix issue with deleted entities showing up in search results #1042

* 2FA Backup Tokens language doesn't seem correct #908

* linting

* poetry relock

* fix user permission save trying to create a user

* add status_dashboard to mock data

* docs

* add api doc regen to gen_docs call
fix issue with run_tests if BASE_URL env var is set

* fix generate_schema typo

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-03-08 07:27:45 -06:00

2.2 KiB

Generated from rest_throttles.py on 2022-03-07 17:01:26.860132

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.