akvo.rsr.middleware module

Akvo RSR is covered by the GNU Affero General Public License.

See more details in the license.txt file located at the root folder of the Akvo RSR module. For additional details on the GNU license please see < http://www.gnu.org/licenses/agpl.html >.

class akvo.rsr.middleware.APIRedirectMiddleware(get_response)[source]

Bases: MiddlewareMixin

In special cases, the old API links should be redirected:

  • /api/v1/project/ with depth = 1 should be redirected to /api/v1/project_extra/.

  • /api/v1/project/ with depth > 1 should be redirected to /api/v1/project_extra_deep/.

static process_response(request, response)[source]
class akvo.rsr.middleware.ExceptionLoggingMiddleware(get_response)[source]

Bases: MiddlewareMixin

Used to log exceptions on production systems.

process_exception(request, exception)[source]

.

class akvo.rsr.middleware.HostDispatchMiddleware(get_response)[source]

Bases: MiddlewareMixin

RSR page dispatch middleware.

process_request(request)[source]

Route on request.

class akvo.rsr.middleware.RSRLockdownMiddleware(get_response=None, form=None, until_date=None, after_date=None, logout_key=None, session_key=None, url_exceptions=None, remote_addr_exceptions=None, trusted_proxies=None, extra_context=None, **form_kwargs)[source]

Bases: LockdownMiddleware

process_request(request)[source]

Check if each request is allowed to access the current resource.

class akvo.rsr.middleware.RSRVersionHeaderMiddleware(get_response)[source]

Bases: MiddlewareMixin

Add a response header with RSR version info.

process_response(request, response)[source]

Add the X-RSR-Version header.

class akvo.rsr.middleware.RequestTokenMiddleware(get_response: Callable)[source]

Bases: RequestTokenMiddleware