Fix 450 RecursionError

This commit is contained in:
Quentin POLLET 2020-05-03 23:49:38 +02:00
parent 91ac1d956e
commit 0ec37de466

View file

@ -69,6 +69,7 @@ class PyiCloudSession(Session):
request_logger.debug("%s %s %s", method, url, kwargs.get("data", "")) request_logger.debug("%s %s %s", method, url, kwargs.get("data", ""))
has_retried = kwargs.get("retried")
kwargs.pop("retried", None) kwargs.pop("retried", None)
response = super(PyiCloudSession, self).request(method, url, **kwargs) response = super(PyiCloudSession, self).request(method, url, **kwargs)
@ -76,11 +77,11 @@ class PyiCloudSession(Session):
json_mimetypes = ["application/json", "text/json"] json_mimetypes = ["application/json", "text/json"]
if not response.ok and content_type not in json_mimetypes: if not response.ok and content_type not in json_mimetypes:
if kwargs.get("retried") is None and response.status_code == 450: if has_retried is None and response.status_code == 450:
api_error = PyiCloudAPIResponseException( api_error = PyiCloudAPIResponseException(
response.reason, response.status_code, retry=True response.reason, response.status_code, retry=True
) )
request_logger.warn(api_error) request_logger.debug(api_error)
kwargs["retried"] = True kwargs["retried"] = True
return self.request(method, url, **kwargs) return self.request(method, url, **kwargs)
self._raise_error(response.status_code, response.reason) self._raise_error(response.status_code, response.reason)