Middleware#
This module contains middleware to ensure best practices of DRF and other endpoints..
- class RequestCustomAttributesMiddleware(get_response)#
Adds various request related custom attributes.
- Possible custom attributes include:
- request_authenticated_user_set_in_middleware:
Example values: ‘process_request’, ‘process_view’, ‘process_response’, or ‘process_exception’.
Attribute won’t exist if user is not authenticated.
- request_auth_type_guess:
Example values include: no-user, unauthenticated, jwt, bearer, other-token-type, jwt-cookie, or session-or-other
Note: These are just guesses because if a token was expired, for example, the user could have been authenticated by some other means.
request_client_name: The client name from edx-rest-api-client calls. request_referer: The referrer for the request. request_user_agent: The user agent string from the request header. request_user_id: The user id of the request user.
- request_is_staff_or_superuser: staff or superuser depending on whether the
user in the request is a django staff or superuser.
This middleware is dependent on the RequestCacheMiddleware. You must include this middleware later. For example:
MIDDLEWARE = ( 'edx_django_utils.cache.middleware.RequestCacheMiddleware', 'edx_rest_framework_extensions.middleware.RequestCustomAttributesMiddleware', )
This middleware should also appear after any authentication middleware.
- process_exception(request, exception)#
Django middleware handler to process an exception
- process_request(request)#
Caches if authenticated user was found.
- process_response(request, response)#
Add custom attributes for various details of the request.
- process_view(request, view_func, view_args, view_kwargs)#
Caches if authenticated user was found.
- class RequestMetricsMiddleware(*args, **kwargs)#
Deprecated class for handling middleware. Class has been renamed to RequestCustomAttributesMiddleware.