lsrestclient 3.0.1__py3-none-any.whl → 3.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|