X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/38fcd08dda022d0167840fbb65222fe99b75fcf5..f2f8340b18430738a9527f05e707dd8f03508cc0:/sdk/python/arvados/api.py?ds=sidebyside diff --git a/sdk/python/arvados/api.py b/sdk/python/arvados/api.py index 1af50b3110..543725b516 100644 --- a/sdk/python/arvados/api.py +++ b/sdk/python/arvados/api.py @@ -44,7 +44,7 @@ class OrderedJsonModel(apiclient.model.JsonModel): return body -def _intercept_http_request(self, uri, **kwargs): +def _intercept_http_request(self, uri, method="GET", **kwargs): if (self.max_request_size and kwargs.get('body') and self.max_request_size < len(kwargs['body'])): @@ -58,7 +58,7 @@ def _intercept_http_request(self, uri, **kwargs): kwargs['headers']['Authorization'] = 'OAuth2 %s' % self.arvados_api_token - retryable = kwargs.get('method', 'GET') in [ + retryable = method in [ 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PUT'] retry_count = self._retry_count if retryable else 0 @@ -75,7 +75,7 @@ def _intercept_http_request(self, uri, **kwargs): for _ in range(retry_count): self._last_request_time = time.time() try: - return self.orig_http_request(uri, **kwargs) + return self.orig_http_request(uri, method, **kwargs) except httplib.HTTPException: _logger.debug("Retrying API request in %d s after HTTP error", delay, exc_info=True) @@ -93,7 +93,7 @@ def _intercept_http_request(self, uri, **kwargs): delay = delay * self._retry_delay_backoff self._last_request_time = time.time() - return self.orig_http_request(uri, **kwargs) + return self.orig_http_request(uri, method, **kwargs) def _patch_http_request(http, api_token): http.arvados_api_token = api_token