Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit16ef0a8

Browse files
author
Liora Milbaum
committed
refactor: RequestsResponse
1 parent283e7cc commit16ef0a8

File tree

3 files changed

+34
-19
lines changed

3 files changed

+34
-19
lines changed

‎gitlab/client.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -774,47 +774,51 @@ def http_request(
774774

775775
raise
776776

777-
self._check_redirects(result)
777+
self._check_redirects(result.response)
778778

779-
if200<=result.status_code<300:
780-
returnresult
779+
if200<=result.response.status_code<300:
780+
returnresult.response
781781

782-
if (429==result.status_codeandobey_rate_limit)or (
783-
result.status_codeingitlab.const.RETRYABLE_TRANSIENT_ERROR_CODES
782+
if (429==result.response.status_codeandobey_rate_limit)or (
783+
result.response.status_code
784+
ingitlab.const.RETRYABLE_TRANSIENT_ERROR_CODES
784785
andretry_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
ifmax_retries==-1orcur_retries<max_retries:
789790
wait_time=2**cur_retries*0.1
790-
if"Retry-After"inresult.headers:
791-
wait_time=int(result.headers["Retry-After"])
792-
elif"RateLimit-Reset"inresult.headers:
793-
wait_time=int(result.headers["RateLimit-Reset"])-time.time()
791+
if"Retry-After"inresult.response.headers:
792+
wait_time=int(result.response.headers["Retry-After"])
793+
elif"RateLimit-Reset"inresult.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
forkin ("message","error"):
802806
ifkinerror_json:
803807
error_message=error_json[k]
804808
except (KeyError,ValueError,TypeError):
805809
pass
806810

807-
ifresult.status_code==401:
811+
ifresult.response.status_code==401:
808812
raisegitlab.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
raisegitlab.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
defhttp_get(

‎gitlab/http_backends/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Defines http backends for processing http requests
33
"""
44

5-
from .requests_backendimportRequestsBackend
5+
from .requests_backendimportRequestsBackend,RequestsResponse
66

77
DefaultBackend=RequestsBackend
8+
DefaultResponse=RequestsResponse

‎gitlab/http_backends/requests_backend.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44
fromrequests_toolbelt.multipart.encoderimportMultipartEncoder# type: ignore
55

66

7+
classRequestsResponse:
8+
def__init__(self,response:requests.Response)->None:
9+
self._response:requests.Response=response
10+
11+
@property
12+
defresponse(self)->requests.Response:
13+
returnself._response
14+
15+
716
classRequestsBackend:
817
def__init__(self,session:Optional[requests.Session]=None)->None:
918
self._client:requests.Session=sessionorrequests.Session()
@@ -23,7 +32,7 @@ def http_request(
2332
verify:Optional[Union[bool,str]]=True,
2433
stream:Optional[bool]=False,
2534
**kwargs:Any
26-
)->requests.Response:
35+
)->RequestsResponse:
2736
"""Make HTTP request
2837
2938
Args:
@@ -40,7 +49,7 @@ def http_request(
4049
Returns:
4150
A requests Response object.
4251
"""
43-
returnself._client.request(
52+
response:requests.Response=self._client.request(
4453
method=method,
4554
url=url,
4655
params=params,
@@ -51,3 +60,4 @@ def http_request(
5160
json=json,
5261
**kwargs
5362
)
63+
returnRequestsResponse(response=response)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp