Skip to content
This repository was archived by the owner on May 5, 2025. It is now read-only.

Commit 804a6e0

Browse files
authored
Remove auto_retry and refactor overrides (#124)
1 parent 8098bb1 commit 804a6e0

File tree

1 file changed

+23
-40
lines changed

1 file changed

+23
-40
lines changed

pancloud/httpclient.py

Lines changed: 23 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ def __init__(self, **kwargs):
8080

8181
# Non-Requests key-word arguments
8282
self.auto_refresh = kwargs.pop('auto_refresh', True)
83-
self.auto_retry = kwargs.pop('auto_retry', True)
8483
self.credentials = kwargs.pop('credentials', None)
8584
self.enforce_json = kwargs.pop(
8685
'enforce_json', False
@@ -209,22 +208,21 @@ def request(self, **kwargs):
209208
requests.Response: Requests Response() object
210209
211210
"""
212-
url = kwargs.pop('url', None) or self.url
211+
url = kwargs.pop('url', self.url)
213212

214213
# Session() overrides
215-
auth = kwargs.pop('auth', None)
216-
cert = kwargs.pop('cert', None)
217-
cookies = kwargs.pop('cookies', None)
218-
headers = kwargs.pop('headers', None)
219-
params = kwargs.pop('params', None)
220-
proxies = kwargs.pop('proxies', None)
221-
stream = kwargs.pop('stream', None)
222-
verify = kwargs.pop('verify', None)
214+
auth = kwargs.pop('auth', self.session.auth)
215+
cert = kwargs.pop('cert', self.session.cert)
216+
cookies = kwargs.pop('cookies', self.session.cookies)
217+
headers = kwargs.pop('headers', self.session.headers.copy())
218+
params = kwargs.pop('params', self.session.params)
219+
proxies = kwargs.pop('proxies', self.session.proxies)
220+
stream = kwargs.pop('stream', self.session.stream)
221+
verify = kwargs.pop('verify', self.session.verify)
223222

224223
# Non-Requests key-word arguments
225224
auto_refresh = kwargs.pop('auto_refresh', self.auto_refresh)
226-
auto_retry = kwargs.pop('auto_retry', self.auto_retry)
227-
credentials = kwargs.pop('credentials', None)
225+
credentials = kwargs.pop('credentials', self.credentials)
228226
enforce_json = kwargs.pop('enforce_json', self.enforce_json)
229227
path = kwargs.pop('path', '') # default to empty path
230228
raise_for_status = kwargs.pop(
@@ -233,21 +231,21 @@ def request(self, **kwargs):
233231
url = "{}:{}{}".format(url, self.port, path)
234232

235233
if credentials:
236-
if headers is None:
237-
headers = self.session.headers.copy()
238-
self._apply_credentials(credentials, headers)
239-
else:
240-
credentials = self.credentials
234+
self._apply_credentials(
235+
auto_refresh=auto_refresh,
236+
credentials=credentials,
237+
headers=headers
238+
)
241239

242240
k = { # Re-pack kwargs to dictionary
243-
'params': params or self.session.params,
244-
'headers': headers or self.session.headers,
245-
'cookies': cookies or self.session.cookies,
246-
'auth': auth or self.session.auth,
247-
'proxies': proxies or self.session.proxies,
248-
'verify': verify or self.session.verify,
249-
'stream': stream or self.session.stream,
250-
'cert': cert or self.session.cert
241+
'params': params,
242+
'headers': headers,
243+
'cookies': cookies,
244+
'auth': auth,
245+
'proxies': proxies,
246+
'verify': verify,
247+
'stream': stream,
248+
'cert': cert
251249
}
252250

253251
# Request() overrides
@@ -270,21 +268,6 @@ def request(self, **kwargs):
270268
r = self._send_request(
271269
enforce_json, method, raise_for_status, url, **k
272270
)
273-
# TODO remove the following if statement
274-
if r.status_code == 401:
275-
if credentials and auto_refresh:
276-
token = credentials.get_credentials().access_token
277-
credentials.refresh(access_token=token, timeout=10)
278-
self._apply_credentials(
279-
auto_refresh=auto_refresh,
280-
credentials=credentials,
281-
headers=headers or self.session.headers
282-
)
283-
if auto_retry:
284-
r = self._send_request(
285-
enforce_json, method, raise_for_status, url,
286-
**k
287-
)
288271
return r
289272
except requests.RequestException as e:
290273
raise HTTPError(e)

0 commit comments

Comments
 (0)