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/middleware.py.md
Matt Griswold 505760aa8d Support 202203 (#1144)
* Do not show objects in status "pending" on the UI #784

* Fix peeringdb.js bug introduced in #784

* 500 Error during login for 2FA enabled accounts with unverified email address #996

* Django-Admin: adding a network with existing asn fails with internal error #1035

* Some command-line-tool executions are not logged #1119

* Ops: API throttling of repeated requests #1126

* Ops: response header X-Auth-ID to augment logging #1120

* Allow rate-limiting of melissa enabled api functionality. #1124

* State / Province normalization #1079

* Log melissa requests #1122

* remove debug messages

* bump django-handleref to 1.0.2

* Need consolidated app logs #845

* pin django peeringdb to 2.13 and relock poetry

* pin django-restframework-apikey to 2.1.0

* linting

* migrations

* docs regenerate

* docs

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-04-12 15:39:19 -05:00

104 lines
2.2 KiB
Markdown

Generated from middleware.py on 2022-04-12 16:41:02.631987
# 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.
---