Skip to content

Commit 041bea1

Browse files
feat: always adding the headers to the calls
1 parent 78ca6f7 commit 041bea1

3 files changed

Lines changed: 18 additions & 7 deletions

File tree

‎python/ai-server/pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "ai-server-sdk"
7-
version = "0.0.28"
7+
version = "0.0.29"
88
description = "Utility package to connect to AI Server instances."
99
readme = "README.md"
1010
license = "MIT"

‎python/ai-server/src/ai_server/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
try:
77
__version__ = metadata.version(__package__)
88
except metadata.PackageNotFoundError:
9-
__version__ = "0.0.28"
9+
__version__ = "0.0.29"
1010
del metadata
1111

1212
from .server_resources.server_client import ServerClient

‎python/ai-server/src/ai_server/server_resources/server_client.py‎

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ def loginUserAccessKey(self):
116116
combined_enc = base64.b64encode(combined.encode("utf-8"))
117117
headers = {"Authorization": f"Basic {combined_enc.decode('utf-8')}"}
118118
self.auth_headers: Dict = headers.copy()
119+
# combine the auth header with required headers for any csrf
120+
self.required_headers.update(self.auth_headers)
119121

120122
# make sure user is authenticated
121123
response, is_logged_in = self.is_session_login(self.auth_headers)
@@ -137,6 +139,8 @@ def loginBearerToken(self):
137139
"Bearer-Provider": self.bearer_token_provider,
138140
}
139141
self.auth_headers: Dict = headers.copy()
142+
# combine the auth header with required headers for any csrf
143+
self.required_headers.update(self.auth_headers)
140144

141145
# make sure user is authenticated
142146
response, is_logged_in = self.is_session_login(self.auth_headers)
@@ -258,7 +262,7 @@ def make_new_insight(self) -> str:
258262
self.main_url + "/engine/runPixel",
259263
cookies=self.cookies,
260264
data={"expression": "META | true", "insightId": "new"},
261-
headers=self.required_headers,
265+
headers=self.required_headers.copy(),
262266
)
263267

264268
# raise HTTP error if one occurs
@@ -394,7 +398,7 @@ def get_partial_responses(self, job_id: str) -> Generator:
394398
url=self.main_url + "/engine/partial",
395399
cookies=self.cookies,
396400
data={"jobId": job_id},
397-
headers=self.required_headers,
401+
headers=self.required_headers.copy(),
398402
).json()
399403

400404
msg = response.get("message", {})
@@ -527,7 +531,9 @@ def import_data_product(
527531
)
528532

529533
dataProductUrl = base_url + sql
530-
response = requests.get(dataProductUrl, cookies=self.cookies).json()
534+
response = requests.get(
535+
dataProductUrl, cookies=self.cookies, headers=self.required_headers.copy()
536+
).json()
531537

532538
try:
533539
return pd.DataFrame(response["dataArray"], columns=response["columns"])
@@ -601,7 +607,7 @@ def upload_files(
601607
upload_post_request,
602608
cookies=self.cookies,
603609
files={"file": fobj},
604-
headers=self.required_headers,
610+
headers=self.required_headers.copy(),
605611
)
606612
insight_file_paths.append(response.json()[0]["fileName"])
607613

@@ -652,7 +658,12 @@ def download_file(
652658
download_get_url = f"{self.main_url}/engine/downloadFile?insightId={insight_param}&fileKey={download_file_key}"
653659

654660
# Make the GET request
655-
response = requests.get(download_get_url, cookies=self.cookies, stream=True)
661+
response = requests.get(
662+
download_get_url,
663+
cookies=self.cookies,
664+
headers=self.required_headers.copy(),
665+
stream=True,
666+
)
656667
response.raise_for_status()
657668

658669
# Determine filename

0 commit comments

Comments
 (0)