Skip to content

Commit a0ecac2

Browse files
author
Liora Milbaum
committed
refactor: RequestsResponse
1 parent a467937 commit a0ecac2

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

gitlab/client.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -779,42 +779,46 @@ def http_request(
779779
if 200 <= result.status_code < 300:
780780
return result.response
781781

782-
if (429 == result.status_code and obey_rate_limit) or (
783-
result.status_code in gitlab.const.RETRYABLE_TRANSIENT_ERROR_CODES
782+
if (429 == result.response.status_code and obey_rate_limit) or (
783+
result.response.status_code
784+
in gitlab.const.RETRYABLE_TRANSIENT_ERROR_CODES
784785
and retry_transient_errors
785786
):
786787
# Response headers documentation:
787788
# https://docs.gitlab.com/ee/user/admin_area/settings/user_and_ip_rate_limits.html#response-headers
788789
if max_retries == -1 or cur_retries < max_retries:
789790
wait_time = 2**cur_retries * 0.1
790-
if "Retry-After" in result.headers:
791-
wait_time = int(result.headers["Retry-After"])
792-
elif "RateLimit-Reset" in result.headers:
793-
wait_time = int(result.headers["RateLimit-Reset"]) - time.time()
791+
if "Retry-After" in result.response.headers:
792+
wait_time = int(result.response.headers["Retry-After"])
793+
elif "RateLimit-Reset" in result.response.headers:
794+
wait_time = (
795+
int(result.response.headers["RateLimit-Reset"])
796+
- time.time()
797+
)
794798
cur_retries += 1
795799
time.sleep(wait_time)
796800
continue
797801

798-
error_message = result.content
802+
error_message = result.response.content
799803
try:
800-
error_json = result.json()
804+
error_json = result.response.json()
801805
for k in ("message", "error"):
802806
if k in error_json:
803807
error_message = error_json[k]
804808
except (KeyError, ValueError, TypeError):
805809
pass
806810

807-
if result.status_code == 401:
811+
if result.response.status_code == 401:
808812
raise gitlab.exceptions.GitlabAuthenticationError(
809-
response_code=result.status_code,
813+
response_code=result.response.status_code,
810814
error_message=error_message,
811-
response_body=result.content,
815+
response_body=result.response.content,
812816
)
813817

814818
raise gitlab.exceptions.GitlabHttpError(
815-
response_code=result.status_code,
819+
response_code=result.response.status_code,
816820
error_message=error_message,
817-
response_body=result.content,
821+
response_body=result.response.content,
818822
)
819823

820824
def http_get(

0 commit comments

Comments
 (0)