Jump to >

This documentation covers the in-development release of Djblets. You can see the latest stable docs or all previous versions.

djblets.extensions.middleware

Middleware for extensions.

class ExtensionsMiddleware(*args, **kwargs)[source]

Middleware to manage extension lifecycles and data.

class ExtensionsMiddlewareRunner(get_response=None)[source]

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)[source]

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

django.http.HttpResponse or None

process_template_response(request, response)[source]

Process a template response through extension middleware.

Parameters
Returns

A new template response to execute.

Return type

django.template.response.TemplateResponse

process_exception(request, exception)[source]

Process an exception through extension middleware.

Parameters
Returns

Either a response object (in which case other middleware will not be run), or None.

Return type

django.http.HttpResponse or None