Handle ConnectTimeout for API requests

This commit is contained in:
Ivan Kravets
2016-03-21 14:20:37 +02:00
parent c327cd5c3f
commit b958960512

View File

@ -337,11 +337,11 @@ def get_api_result(path, params=None, data=None, skipdns=False):
if data: if data:
r = requests.post( r = requests.post(
url + path, params=params, data=data, headers=headers, url + path, params=params, data=data, headers=headers,
timeout=(3, 13) timeout=(5, 13)
) )
else: else:
r = requests.get( r = requests.get(
url + path, params=params, headers=headers, timeout=(3, 13)) url + path, params=params, headers=headers, timeout=(5, 13))
result = r.json() result = r.json()
r.raise_for_status() r.raise_for_status()
except requests.exceptions.HTTPError as e: except requests.exceptions.HTTPError as e:
@ -349,7 +349,8 @@ def get_api_result(path, params=None, data=None, skipdns=False):
raise exception.APIRequestError(result['errors'][0]['title']) raise exception.APIRequestError(result['errors'][0]['title'])
else: else:
raise exception.APIRequestError(e) raise exception.APIRequestError(e)
except requests.exceptions.ConnectionError: except (requests.exceptions.ConnectionError,
requests.exceptions.ConnectTimeout):
if not skipdns: if not skipdns:
return get_api_result(path, params, data, skipdns=True) return get_api_result(path, params, data, skipdns=True)
raise exception.APIRequestError( raise exception.APIRequestError(