-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommon.py
More file actions
21 lines (18 loc) · 721 Bytes
/
Copy pathcommon.py
File metadata and controls
21 lines (18 loc) · 721 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import time
import requests
import constants as C
def apicall(endpoint, method, headers, params=None, data=None):
session = requests.Session()
request = requests.Request(method, C.BASE_URL + endpoint, headers=headers, data=data, params=params)
prep = session.prepare_request(request)
response = None
for _ in range(C.RETRY_COUNT):
try:
response = session.send(prep, timeout=C.TIMEOUT)
except (requests.exceptions.ConnectionError, requests.exceptions.Timeout):
time.sleep(C.RETRY_INTERVAL)
continue
break
if response is None:
raise Exception("I bailed out trying this %s withmethod= %s" %(endpoint, method))
return response