lsrestclient 3.0.1__py3-none-any.whl → 3.1.0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- lsrestclient/client.py +14 -2
- lsrestclient/response.py +3 -2
- {lsrestclient-3.0.1.dist-info → lsrestclient-3.1.0.dist-info}/METADATA +1 -1
- {lsrestclient-3.0.1.dist-info → lsrestclient-3.1.0.dist-info}/RECORD +6 -6
- {lsrestclient-3.0.1.dist-info → lsrestclient-3.1.0.dist-info}/WHEEL +0 -0
- {lsrestclient-3.0.1.dist-info → lsrestclient-3.1.0.dist-info}/entry_points.txt +0 -0
lsrestclient/client.py
CHANGED
@@ -63,12 +63,21 @@ class LsRestClient(Session):
|
|
63
63
|
self,
|
64
64
|
base_url: str = None,
|
65
65
|
name: str = "default",
|
66
|
+
headers: dict = None,
|
67
|
+
ignore_bearer_token: bool = False,
|
66
68
|
) -> None:
|
67
69
|
"""Class representing a REST client for JSON API."""
|
68
70
|
|
69
71
|
self._mocks = {}
|
70
72
|
self.base_url = base_url
|
73
|
+
self.ignore_bearer_token = ignore_bearer_token
|
71
74
|
self.base_headers = {"content-type": "application/json"}
|
75
|
+
|
76
|
+
with bearer_token_context() as bearer_token:
|
77
|
+
bearer_headers = {"Authorization": f"Bearer {bearer_token}"} if bearer_token is not None else {}
|
78
|
+
self.base_headers.update(bearer_headers)
|
79
|
+
if headers is not None:
|
80
|
+
self.base_headers.update(headers)
|
72
81
|
self.base_kwargs = {}
|
73
82
|
self.name = name
|
74
83
|
super().__init__()
|
@@ -162,9 +171,12 @@ class LsRestClient(Session):
|
|
162
171
|
Note: This method raises a `ConnectionError` if a connection error occurs during the request.
|
163
172
|
"""
|
164
173
|
# apply base_headers
|
165
|
-
|
166
174
|
with bearer_token_context() as bearer_token:
|
167
|
-
bearer_headers =
|
175
|
+
bearer_headers = (
|
176
|
+
{"Authorization": f"Bearer {bearer_token}"}
|
177
|
+
if bearer_token is not None and not self.ignore_bearer_token
|
178
|
+
else {}
|
179
|
+
)
|
168
180
|
|
169
181
|
headers = self.base_headers | bearer_headers | kwargs.get("headers", {})
|
170
182
|
|
lsrestclient/response.py
CHANGED
@@ -6,6 +6,7 @@ import pydash
|
|
6
6
|
from requests import Response
|
7
7
|
from requests.structures import CaseInsensitiveDict
|
8
8
|
|
9
|
+
|
9
10
|
@dataclass
|
10
11
|
class LsRestClientResponse:
|
11
12
|
"""
|
@@ -19,7 +20,7 @@ class LsRestClientResponse:
|
|
19
20
|
_json: Optional[dict] = None
|
20
21
|
|
21
22
|
def json(self):
|
22
|
-
if self._json is None:
|
23
|
+
if self._json is None and self.content != "":
|
23
24
|
self._json = lsjsonclasses.LSoftJSONDecoder.loads(self.content)
|
24
25
|
return self._json
|
25
26
|
|
@@ -37,7 +38,7 @@ class LsRestClientResponse:
|
|
37
38
|
encoding = pydash.get(response, "encoding", None)
|
38
39
|
headers = pydash.get(response, "headers", None)
|
39
40
|
content_type = headers.get("Content-Type", None)
|
40
|
-
if content_type ==
|
41
|
+
if content_type == "application/pdf":
|
41
42
|
content = response.content
|
42
43
|
else:
|
43
44
|
content = response.content.decode("utf8" if encoding is None else encoding)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
lsrestclient/__init__.py,sha256=lI62SHmG0m-iukB5UEwdN5dO4cKnDasOt-TmR1rgaWI,72
|
2
2
|
lsrestclient/auth.py,sha256=IC6niEht-xB_wC7da0HIeM05Ha785qhls-Q39P6dMHQ,467
|
3
|
-
lsrestclient/client.py,sha256=
|
3
|
+
lsrestclient/client.py,sha256=dYdfQhPnvblJTg0SAmcljQraASuoEyVcLSDYD9RKSjc,11854
|
4
4
|
lsrestclient/contexts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
lsrestclient/contexts/bearer_token.py,sha256=GZZOzAI2Ng_9DvFCbhv1Wwb8wJ1AYCca3fQeNtt2NaU,753
|
6
6
|
lsrestclient/exceptions.py,sha256=exJd1BfygNkkAqekmWepVXvXlMiOInVzPRnq7TmPURs,2149
|
7
7
|
lsrestclient/fixtures.py,sha256=dFkAYQXL6xqTOwRofb03Nsu_cIjq1sG10Rh8dxWfz9s,239
|
8
8
|
lsrestclient/mock.py,sha256=Ya12F0t5sXHTSt-X4jDDj5ILJx6y6QaBAMXutQMsIRI,1376
|
9
|
-
lsrestclient/response.py,sha256=
|
10
|
-
lsrestclient-3.0.
|
11
|
-
lsrestclient-3.0.
|
12
|
-
lsrestclient-3.0.
|
13
|
-
lsrestclient-3.0.
|
9
|
+
lsrestclient/response.py,sha256=8ovVmVB8gLW3U1EkewdQlPdFYP-YLoOpIH3ATVQc3wc,2189
|
10
|
+
lsrestclient-3.1.0.dist-info/METADATA,sha256=bX3k1GwgD-a_QgsbEpEAHdeY-0Vejny_s_sFOI6w6sw,6748
|
11
|
+
lsrestclient-3.1.0.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
12
|
+
lsrestclient-3.1.0.dist-info/entry_points.txt,sha256=7lN1XN3lq5Jv5PlpOdIlFrLlFlwzE5MaEWSgMhKASOM,47
|
13
|
+
lsrestclient-3.1.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|