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 c21130eed9 Docs 202109 (#1067)
* module docstrings

* db schema graph

* dev docs first pass

* dev docs pass 2

* add generated notification to top of generated docs files

* linting

* regen docs

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Sunshine Buchholz <sunshine@20c.com>
2021-10-15 03:25:38 -05:00

1.5 KiB

Generated from rest_throttles.py on 2021-10-15 07:56:57.376975

peeringdb_server.rest_throttles

Custom rate limit handlers for the REST API.

Classes


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.