2018-07-02 19:41:00 -04:00
|
|
|
from django.http import HttpRequest, HttpResponse
|
|
|
|
from django.utils.deprecation import MiddlewareMixin
|
|
|
|
|
|
|
|
|
|
|
|
class ResponseException(Exception):
|
|
|
|
def __init__(self, response: HttpResponse) -> None:
|
|
|
|
self.response = response
|
|
|
|
|
|
|
|
|
|
|
|
class ResponseExceptionMiddleware(MiddlewareMixin):
|
2023-08-10 02:52:37 -04:00
|
|
|
def process_exception(
|
|
|
|
self, request: HttpRequest, exception: Exception
|
|
|
|
) -> HttpResponse:
|
2018-07-02 19:41:00 -04:00
|
|
|
if isinstance(exception, ResponseException):
|
|
|
|
return exception.response
|
|
|
|
raise exception
|