From e1d9a52ac4bf4ae4f233b0bffee783375ac0b839 Mon Sep 17 00:00:00 2001 From: Erick Sapp Date: Thu, 31 Jan 2019 11:32:19 -0600 Subject: [PATCH 1/3] Added more exception handling. --- SoftLayer/transports.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/SoftLayer/transports.py b/SoftLayer/transports.py index 3aa896f11..b9249adb4 100644 --- a/SoftLayer/transports.py +++ b/SoftLayer/transports.py @@ -379,7 +379,12 @@ def __call__(self, request): request.url = resp.url resp.raise_for_status() - result = json.loads(resp.text) + + if resp.text != "": + result = json.loads(resp.text) + else: + raise exceptions.SoftLayerAPIError(resp.status_code, "Empty response." ) + request.result = result if isinstance(result, list): @@ -388,8 +393,14 @@ def __call__(self, request): else: return result except requests.HTTPError as ex: - message = json.loads(ex.response.text)['error'] - request.url = ex.response.url + try: + message = json.loads(ex.response.text)['error'] + request.url = ex.response.url + except: + if ex.response.text == "": + raise exceptions.SoftLayerAPIError(resp.status_code, "Empty response." ) + else: + raise exceptions.SoftLayerAPIError(resp.status_code, ex.response.text ) raise exceptions.SoftLayerAPIError(ex.response.status_code, message) except requests.RequestException as ex: raise exceptions.TransportError(0, str(ex)) From 3b5c37fe405740a73d56e58ecf0063996c7e8396 Mon Sep 17 00:00:00 2001 From: Erick Sapp Date: Thu, 31 Jan 2019 13:48:17 -0600 Subject: [PATCH 2/3] Formating changes. --- SoftLayer/transports.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoftLayer/transports.py b/SoftLayer/transports.py index b9249adb4..2bb4455a8 100644 --- a/SoftLayer/transports.py +++ b/SoftLayer/transports.py @@ -384,7 +384,7 @@ def __call__(self, request): result = json.loads(resp.text) else: raise exceptions.SoftLayerAPIError(resp.status_code, "Empty response." ) - + request.result = result if isinstance(result, list): From ba14a925bc6ca16e5ad0c6cd5e8f281d1a64c497 Mon Sep 17 00:00:00 2001 From: Erick Sapp Date: Thu, 31 Jan 2019 14:03:59 -0600 Subject: [PATCH 3/3] More minor changes. --- SoftLayer/transports.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/SoftLayer/transports.py b/SoftLayer/transports.py index 2bb4455a8..74371a2ed 100644 --- a/SoftLayer/transports.py +++ b/SoftLayer/transports.py @@ -381,9 +381,9 @@ def __call__(self, request): resp.raise_for_status() if resp.text != "": - result = json.loads(resp.text) + result = json.loads(resp.text) else: - raise exceptions.SoftLayerAPIError(resp.status_code, "Empty response." ) + raise exceptions.SoftLayerAPIError(resp.status_code, "Empty response.") request.result = result @@ -394,14 +394,14 @@ def __call__(self, request): return result except requests.HTTPError as ex: try: - message = json.loads(ex.response.text)['error'] - request.url = ex.response.url - except: - if ex.response.text == "": - raise exceptions.SoftLayerAPIError(resp.status_code, "Empty response." ) - else: - raise exceptions.SoftLayerAPIError(resp.status_code, ex.response.text ) - raise exceptions.SoftLayerAPIError(ex.response.status_code, message) + message = json.loads(ex.response.text)['error'] + request.url = ex.response.url + except Exception: + if ex.response.text == "": + raise exceptions.SoftLayerAPIError(resp.status_code, "Empty response.") + else: + raise exceptions.SoftLayerAPIError(resp.status_code, ex.response.text) + raise exceptions.SoftLayerAPIError(ex.response.status_code, message) except requests.RequestException as ex: raise exceptions.TransportError(0, str(ex))