middleware.py 885 B

123456789101112131415161718192021222324252627
  1. from . import exceptionhandler
  2. from .utils import is_request_to_misago
  3. class ExceptionHandlerMiddleware:
  4. def __init__(self, get_response):
  5. self.get_response = get_response
  6. def __call__(self, request):
  7. return self.get_response(request)
  8. def process_exception(self, request, exception):
  9. request_is_to_misago = is_request_to_misago(request)
  10. misago_can_handle_exception = exceptionhandler.is_misago_exception(exception)
  11. if request_is_to_misago and misago_can_handle_exception:
  12. return exceptionhandler.handle_misago_exception(request, exception)
  13. class FrontendContextMiddleware:
  14. def __init__(self, get_response):
  15. self.get_response = get_response
  16. def __call__(self, request):
  17. request.include_frontend_context = True
  18. request.frontend_context = {}
  19. return self.get_response(request)