djblets.extensions.middleware¶
Middleware for extensions.
- class ExtensionsMiddleware(*args, **kwargs)¶
Bases:
MiddlewareMixin
Middleware to manage extension lifecycles and data.
- __init__(*args, **kwargs)¶
Initialize the middleware.
- process_request(request)¶
- process_view(request, view, args, kwargs)¶
- class ExtensionsMiddlewareRunner(get_response)¶
Bases:
MiddlewareMixin
Middleware to execute middleware from extensions.
The process_*() methods iterate over all extensions’ middleware, calling the given method if it exists. The semantics of how Django executes each method are preserved.
This middleware should be loaded after the main extension middleware (djblets.extensions.middleware.ExtensionsMiddleware). It’s probably a good idea to have it be at the very end so that everything else in the core that needs to be initialized is done before any extension’s middleware is run.
- process_view(request, view_func, view_args, view_kwargs)¶
Process a view through extension middleware.
- Parameters:
request (
django.http.HttpRequest
) – The request object.view_func (
callable
) – The view callable.view_args (
list
) – Positional arguments to pass to the view.view_kwargs (
dict
) – Keyword arguments to pass to the view.
- Returns:
Either a response object (in which case other middleware will not be run), or None.
- Return type:
- process_template_response(request, response)¶
Process a template response through extension middleware.
- Parameters:
request (
django.http.HttpRequest
) – The request object.response (
django.http.HttpResponse
) – The response from the view.
- Returns:
A new template response to execute.
- Return type:
- process_exception(request, exception)¶
Process an exception through extension middleware.
- Parameters:
request (
django.http.HttpRequest
) – The request object.exception (
Exception
) – The exception to process.
- Returns:
Either a response object (in which case other middleware will not be run), or None.
- Return type:
- __call__(request)¶
Run extension middleware.
- Parameters:
request (
django.http.HttpRequest
) – The HTTP request object.- Returns:
The HTTP response.
- Return type:
- __annotations__ = {}¶