* Organization Merging Tool only offers the first 10 matches #941 * AC Change User Permission broken #1043 * change rs peer icon and move to policy column (#727) * An account with admin status can not have permissions #1157 * add rir_* fields to keep track of ASN status #473 * poetry relock for rdap 1.3.0 * Ops: Limit Django session creation for unauthenticated requests (#1205) * refactor 941 changes to honor grappelli field configuration and also fix broken end anchors * check term has a value * fix tests * poetry reloc and pin django-peeringdb to 2.14.0 * fix middleware test * linting * set more reasonable default RIR_ALLOCATION_DATA_CACHE_DAYS * better default dir for RIR_ALLOCATION_DATA_PATH * fix csv export for advanced search * fix issues with tests failing on CSRF_USE_SESSIONS when they are using RequestFactory * tox.ini for flake8 options * regen docs * regen docs Co-authored-by: David Poarch <dpoarch@20c.com>
2.9 KiB
Generated from middleware.py on 2022-07-15 18:42:55.852692
peeringdb_server.middleware
Custom django middleware.
Classes
CurrentRequestContext
CurrentRequestContext(builtins.object)
Middleware that sets the current request context.
This allows access to the current request from anywhere.
Methods
_call_
def __call__(self, request)
Call self as a function.
_init_
def __init__(self, get_response)
Initialize self. See help(type(self)) for accurate signature.
HttpResponseUnauthorized
HttpResponseUnauthorized(django.http.response.HttpResponse)
An HTTP response class with a string as content.
This content can be read, appended to, or replaced.
PDBCommonMiddleware
PDBCommonMiddleware(django.middleware.common.CommonMiddleware)
"Common" middleware for taking care of some basic operations:
- Forbid access to User-Agents in settings.DISALLOWED_USER_AGENTS
- URL rewriting: Based on the APPEND_SLASH and PREPEND_WWW settings,
append missing slashes and/or prepends missing "www."s.
- If APPEND_SLASH is set and the initial URL doesn't end with a
slash, and it is not found in urlpatterns, form a new URL by
appending a slash at the end. If this new URL is found in
urlpatterns, return an HTTP redirect to this new URL; otherwise
process the initial URL as usual.
This behavior can be customized by subclassing CommonMiddleware and
overriding the response_redirect_class attribute.
Methods
process_request
def process_request(self, request)
Check for denied User-Agents and rewrite the URL based on settings.APPEND_SLASH and settings.PREPEND_WWW
PDBPermissionMiddleware
PDBPermissionMiddleware(django.utils.deprecation.MiddlewareMixin)
Middleware that checks if the current user has the correct permissions to access the requested resource.
Methods
get_username_and_password
def get_username_and_password(self, http_auth)
Get the username and password from the HTTP auth header.
response_unauthorized
def response_unauthorized(self, request, status=None, message=None)
Return a Unauthorized response.
PDBSessionMiddleware
PDBSessionMiddleware(django.contrib.sessions.middleware.SessionMiddleware)
As PeeringDB gets a lot of repeated anonymous requests that do not store and re-use session cookies this lead to substantial amount of junk django session objects.
It was decided in #1205 that new django sessions are only to be established On the login and registration processes.
Methods
process_response
def process_response(self, request, response)
If request.session was modified, or if the configuration is to save the session every time, save the changes and set a session cookie or delete the session cookie if the session has been emptied.