Skip to content

Commit b773a6e

Browse files
authored
Merge pull request #187 from lumapps/feat/reuse-header-for-new-client
feat(api): keep extra headers in get_new_client_as
2 parents 31667ac + 60d7493 commit b773a6e

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

lumapps/api/base_client.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,9 @@ def __init__(
7474
self._endpoints = None
7575
self._client = None
7676
self._headers: dict = {"x-lumapps-analytics": "off"}
77-
if extra_http_headers:
78-
self._headers.update(extra_http_headers)
77+
self._extra_http_headers = extra_http_headers
78+
if self._extra_http_headers:
79+
self._headers.update(self._extra_http_headers)
7980
if api_info is None:
8081
api_info = {}
8182
api_info.setdefault("name", LUMAPPS_NAME)
@@ -231,6 +232,7 @@ def get_new_client_as_using_dwd(self, user_email: str) -> "BaseClient":
231232
no_verify=self.no_verify,
232233
proxy_info=self.proxy_info,
233234
prune=self.prune,
235+
extra_http_headers=self._extra_http_headers,
234236
)
235237

236238
def get_new_client_as(
@@ -252,6 +254,7 @@ def get_new_client_as(
252254
no_verify=self.no_verify,
253255
proxy_info=self.proxy_info,
254256
prune=self.prune,
257+
extra_http_headers=self._extra_http_headers,
255258
)
256259
token_infos: Any = client.get_call(
257260
"user/getToken", customerId=customer_id, email=user_email
@@ -264,6 +267,7 @@ def get_new_client_as(
264267
no_verify=self.no_verify,
265268
proxy_info=self.proxy_info,
266269
prune=self.prune,
270+
extra_http_headers=self._extra_http_headers,
267271
)
268272

269273
@property

tests/legacy/test_client.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,17 @@ def test_custom_headers():
4343
headers = {"my-header": "on"}
4444
cli = LumAppsClient("a", "b", token="FAKE", extra_http_headers=headers)
4545
assert "my-header" in cli.client.headers
46+
47+
48+
def test_custom_headers_for_new_client(mocker):
49+
def dummy_get_call(*args, **kwargs):
50+
return {"accessToken": "1"}
51+
mocker.patch(
52+
"lumapps.api.base_client.BaseClient.get_call",
53+
dummy_get_call,
54+
)
55+
56+
headers = {"my-header": "on"}
57+
cli = LumAppsClient("a", "b", token="FAKE", extra_http_headers=headers)
58+
new_as = cli.get_new_client_as("user_email")
59+
assert "my-header" in new_as.client.headers

0 commit comments

Comments
 (0)