From e75ae87fa22690cc39016d44ac231f4d798d842a Mon Sep 17 00:00:00 2001 From: Guillaume Zurbach Date: Wed, 9 Oct 2019 11:41:33 -0700 Subject: [PATCH] Only parse JSON response if http code is 200 --- pdlwrapper/pdlwrapper.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pdlwrapper/pdlwrapper.py b/pdlwrapper/pdlwrapper.py index 36a6a06..a062b90 100644 --- a/pdlwrapper/pdlwrapper.py +++ b/pdlwrapper/pdlwrapper.py @@ -6,6 +6,7 @@ import decimal import requests import time +import json class Client: @@ -33,12 +34,19 @@ def get_person(self, params): params['api_key'] = self.pdl_api_key resp = requests.get(self.PDL_URL, params=params) + resp_json = None + if resp.status_code == 200: + try: + resp_json = resp.json(parse_float=decimal.Decimal) + except json.JSONDecodeError: + pass + log_item = { 'partition_key': f'{self.env}_{self.account_id}', 'timestamp': int(round(time.time() * 1000000)), 'env': self.env, 'status_code': resp.status_code, - 'response': resp.json(parse_float=decimal.Decimal) + 'response': resp_json } self.dynamodb_table.put_item(Item=log_item)