diff --git a/crowdin_api/exceptions.py b/crowdin_api/exceptions.py index 7dc8756..64d0dc2 100644 --- a/crowdin_api/exceptions.py +++ b/crowdin_api/exceptions.py @@ -34,11 +34,13 @@ def __init__( context=None, http_status=None, headers=None, + source_headers=None, should_retry=None, ): super().__init__(detail=detail) self.context = context self.headers = headers or {} + self.source_headers = source_headers or {} self.http_status = http_status or self.default_http_status if should_retry is None: diff --git a/crowdin_api/requester.py b/crowdin_api/requester.py index 24a933c..d32b4f1 100644 --- a/crowdin_api/requester.py +++ b/crowdin_api/requester.py @@ -130,18 +130,17 @@ def _request( status_code = result.status_code content = result.content - headers = result.headers # Success if status_code < 200 or status_code > 299: raise self.exception_map.get(status_code, self.default_exception)( - http_status=status_code, context=content, headers=headers + http_status=status_code, context=content, headers=result.headers, source_headers=headers ) try: return loads(content) if content else None except json.decoder.JSONDecodeError: - raise ParsingError(context=content, http_status=status_code, headers=headers) + raise ParsingError(context=content, http_status=status_code, headers=result.headers) def request( self,