Exceptions raised in Middleware process_request methods are not handled
|Reported by:||ssdd||Owned by:||nobody|
|Severity:||Keywords:||unhandled exception, middleware|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
In django.core.handlers.base.BaseHandler.get_response, running the Middleware process_request methods is done before the big try-except block that handles 404s and other exceptions. I'm not sure if this is intentional, but it makes it hard, for example, to send a standard 404 from process_request by raising Http404, as all exceptions raised here are unhandled and make it to the web server.
I've included a quick patch to fix this. I might be wrong.