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

Commit7d9ce0d

Browse files
author
Liora Milbaum
authored
refactor: move Response object to backends (#2420)
1 parent43c2dda commit7d9ce0d

File tree

3 files changed

+36
-7
lines changed

3 files changed

+36
-7
lines changed

‎gitlab/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -774,10 +774,10 @@ def http_request(
774774

775775
raise
776776

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

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

782782
if (429==result.status_codeandobey_rate_limit)or (
783783
result.status_codeingitlab.const.RETRYABLE_TRANSIENT_ERROR_CODES

‎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: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,36 @@
1+
from __future__importannotations
2+
13
fromtypingimportAny,Dict,Optional,Union
24

35
importrequests
6+
fromrequests.structuresimportCaseInsensitiveDict
47
fromrequests_toolbelt.multipart.encoderimportMultipartEncoder# type: ignore
58

69

10+
classRequestsResponse:
11+
def__init__(self,response:requests.Response)->None:
12+
self._response:requests.Response=response
13+
14+
@property
15+
defresponse(self)->requests.Response:
16+
returnself._response
17+
18+
@property
19+
defstatus_code(self)->int:
20+
returnself._response.status_code
21+
22+
@property
23+
defheaders(self)->CaseInsensitiveDict[str]:
24+
returnself._response.headers
25+
26+
@property
27+
defcontent(self)->bytes:
28+
returnself._response.content
29+
30+
defjson(self)->Any:
31+
returnself._response.json()
32+
33+
734
classRequestsBackend:
835
def__init__(self,session:Optional[requests.Session]=None)->None:
936
self._client:requests.Session=sessionorrequests.Session()
@@ -22,8 +49,8 @@ def http_request(
2249
timeout:Optional[float]=None,
2350
verify:Optional[Union[bool,str]]=True,
2451
stream:Optional[bool]=False,
25-
**kwargs:Any
26-
)->requests.Response:
52+
**kwargs:Any,
53+
)->RequestsResponse:
2754
"""Make HTTP request
2855
2956
Args:
@@ -40,7 +67,7 @@ def http_request(
4067
Returns:
4168
A requests Response object.
4269
"""
43-
returnself._client.request(
70+
response:requests.Response=self._client.request(
4471
method=method,
4572
url=url,
4673
params=params,
@@ -49,5 +76,6 @@ def http_request(
4976
stream=stream,
5077
verify=verify,
5178
json=json,
52-
**kwargs
79+
**kwargs,
5380
)
81+
returnRequestsResponse(response=response)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp