Skip to content

Commit

Permalink
Added timeout to requests
Browse files Browse the repository at this point in the history
Signed-off-by: Domenico Iezzi <[email protected]>
  • Loading branch information
Domenico Iezzi committed Oct 19, 2017
1 parent 0793b1f commit dd2d7b6
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions gpapi/googleplay.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,10 +242,12 @@ def executeRequestApi2(self, path, datapost=None,
url = self.FDFE + path
if datapost is not None:
response = requests.post(url, data=str(datapost),
headers=headers, verify=ssl_verify)
headers=headers, verify=ssl_verify,
timeout=60)
else:
response = requests.get(url, headers=headers,
verify=ssl_verify)
verify=ssl_verify,
timeout=60)

message = googleplay_pb2.ResponseWrapper.FromString(response.content)
if message.commands.displayErrorMessage != "":
Expand Down Expand Up @@ -282,6 +284,11 @@ def search(self, query, nb_result, offset=None):
nextPath = response.payload.searchResponse.nextPageUrl
continue

if len(response.payload.listResponse.cluster) == 0:
# strange behaviour, probably due to
# expired token
raise RequestError('Unexpected behaviour, probably expired '
'token')
cluster = response.payload.listResponse.cluster[0]
if cluster.doc[0].containerMetadata.nextPageUrl != "":
nextPath = cluster.doc[0].containerMetadata.nextPageUrl
Expand Down Expand Up @@ -433,9 +440,12 @@ def _deliver_data(self, url, cookies, progress_bar):
headers = self.getDefaultHeaders()
if not progress_bar:
return requests.get(url, headers=headers,
cookies=cookies, verify=ssl_verify).content
cookies=cookies, verify=ssl_verify,
timeout=60).content
response_content = bytes()
response = requests.get(url, headers=headers, cookies=cookies, verify=ssl_verify, stream=True)
response = requests.get(url, headers=headers,
cookies=cookies, verify=ssl_verify,
stream=True, timeout=60)
total_length = int(response.headers.get('content-length'))
chunk_size = 32 * (1<<10) # 32 KB
bar = progress.Bar(expected_size=(total_length >> 10))
Expand Down Expand Up @@ -476,7 +486,8 @@ def delivery(self, packageName, versionCode, offerType=1,
params['dtok'] = downloadToken
url = "https://android.clients.google.com/fdfe/%s" % path
response = requests.get(url, headers=headers,
params=params, verify=ssl_verify)
params=params, verify=ssl_verify,
timeout=60)
resObj = googleplay_pb2.ResponseWrapper.FromString(response.content)
if resObj.commands.displayErrorMessage != "":
raise RequestError(resObj.commands.displayErrorMessage)
Expand Down Expand Up @@ -538,7 +549,8 @@ def download(self, packageName, versionCode, offerType=1,
}
url = self.FDFE + path
response = requests.post(url, headers=headers,
params=params, verify=ssl_verify)
params=params, verify=ssl_verify,
timeout=60)

resObj = googleplay_pb2.ResponseWrapper.FromString(response.content)
if resObj.commands.displayErrorMessage != "":
Expand Down

0 comments on commit dd2d7b6

Please sign in to comment.