41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
import importlib.metadata
|
|
|
|
from werkzeug.exceptions import HTTPException
|
|
|
|
_version = importlib.metadata.version("werkzeug").split(".")[0]
|
|
|
|
if _version in ("0", "1"):
|
|
|
|
class _HTTPException(HTTPException):
|
|
def __init__(self, code, body, headers, response=None):
|
|
super().__init__(None, response)
|
|
self.code = code
|
|
|
|
self.body = body
|
|
self.headers = headers
|
|
|
|
def get_body(self, environ=None):
|
|
return self.body
|
|
|
|
def get_headers(self, environ=None):
|
|
return self.headers
|
|
else:
|
|
|
|
class _HTTPException(HTTPException):
|
|
def __init__(self, code, body, headers, response=None):
|
|
super().__init__(None, response)
|
|
self.code = code
|
|
|
|
self.body = body
|
|
self.headers = headers
|
|
|
|
def get_body(self, environ=None, scope=None):
|
|
return self.body
|
|
|
|
def get_headers(self, environ=None, scope=None):
|
|
return self.headers
|
|
|
|
|
|
def raise_http_exception(status, body, headers):
|
|
raise _HTTPException(status, body, headers)
|