From bce7778b0cb136943b9b384b9bd4a0b838ea66c5 Mon Sep 17 00:00:00 2001 From: Raymond Lam Date: Sun, 3 Nov 2024 11:28:50 -0500 Subject: [PATCH] Update Unkown exception to return response form HTTP request body with errors --- src/tastytrade_sdk/api.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/tastytrade_sdk/api.py b/src/tastytrade_sdk/api.py index ecffbcf..9177ed1 100644 --- a/src/tastytrade_sdk/api.py +++ b/src/tastytrade_sdk/api.py @@ -43,7 +43,14 @@ def request(self, method: str, path: str, params: Optional[QueryParams] = tuple( raise Unauthorized() if response.status_code >= 500: raise ServerError() - raise Unknown() + + # Try to get error details from response + try: + error_details = response.json() + except JSONDecodeError: + error_details = response.text + + raise Unknown(error_details) def __url(self, path: str, params: Optional[QueryParams] = None) -> str: url = f'{self.__base_url}{path}' @@ -115,5 +122,7 @@ def __init__(self): class Unknown(TastytradeSdkException): - def __init__(self): - super().__init__('Unknown Error') + def __init__(self, error_details=None): + message = f'Unknown Error: {error_details}' if error_details else 'Unknown Error' + super().__init__(message) + self.error_details = error_details