diff --git a/tls_requests/exceptions.py b/tls_requests/exceptions.py index 8402a91..3938d3a 100644 --- a/tls_requests/exceptions.py +++ b/tls_requests/exceptions.py @@ -21,8 +21,14 @@ class HTTPError(Exception): """HTTP Error""" - def __init__(self, message: str) -> None: + def __init__(self, message: str, **kwargs) -> None: self.message = message + response = kwargs.pop("response", None) + self.response = response + self.request = kwargs.pop("request", None) + if response is not None and not self.request and hasattr(response, "request"): + self.request = self.response.request + super().__init__(message, **kwargs) class ProtocolError(HTTPError): diff --git a/tls_requests/models/response.py b/tls_requests/models/response.py index baf5f67..1adbeef 100644 --- a/tls_requests/models/response.py +++ b/tls_requests/models/response.py @@ -197,7 +197,8 @@ def raise_for_status(self) -> "Response": else StatusCodes.get_reason(self.status_code) ), self.url, - ) + ), + response=self, ) return self