cloudflare_dns: Improve error handling (#2470)
Use the new "body" field of the info dict in case of a HTTPError.
This commit is contained in:
parent
6972df76ef
commit
1ecdb7061b
1 changed files with 10 additions and 4 deletions
|
@ -349,11 +349,17 @@ class CloudflareAPI(object):
|
||||||
result = None
|
result = None
|
||||||
try:
|
try:
|
||||||
content = resp.read()
|
content = resp.read()
|
||||||
result = json.loads(content)
|
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
error_msg += "; The API response was empty"
|
if info['body']:
|
||||||
except json.JSONDecodeError:
|
content = info['body']
|
||||||
error_msg += "; Failed to parse API response: {0}".format(content)
|
else:
|
||||||
|
error_msg += "; The API response was empty"
|
||||||
|
|
||||||
|
if content:
|
||||||
|
try:
|
||||||
|
result = json.loads(content)
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
error_msg += "; Failed to parse API response: {0}".format(content)
|
||||||
|
|
||||||
# received an error status but no data with details on what failed
|
# received an error status but no data with details on what failed
|
||||||
if (info['status'] not in [200,304]) and (result is None):
|
if (info['status'] not in [200,304]) and (result is None):
|
||||||
|
|
Loading…
Reference in a new issue