Skip to content

Commit 85c7a07

Browse files
abhizerlalithsuresh
authored andcommitted
py: support disabling SSL verification
Adds parameter `requests_verify` to `FelderaClient`, this parameter is passed to the requests package while making HTTP requests. If `requests_verify` is set to `False` then, SSL warnings are suppressed. `requests_verify` is set to `True` by default. Signed-off-by: Abhinav Gyawali <22275402+abhizer@users.noreply.github.com>
1 parent b98669b commit 85c7a07

File tree

4 files changed

+18
-2
lines changed

4 files changed

+18
-2
lines changed

python/feldera/rest/_httprequests.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import json
1212
import requests
13+
from requests.packages import urllib3
1314
from typing import Callable, Optional, Any, Union, Mapping, Sequence, List
1415

1516

@@ -22,6 +23,11 @@ class HttpRequests:
2223
def __init__(self, config: Config) -> None:
2324
self.config = config
2425
self.headers = {"User-Agent": "feldera-python-sdk/v1"}
26+
self.requests_verify = config.requests_verify
27+
28+
if not self.requests_verify:
29+
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
30+
2531
if self.config.api_key:
2632
self.headers["Authorization"] = f"Bearer {self.config.api_key}"
2733

@@ -69,6 +75,7 @@ def send_request(
6975
headers=headers,
7076
params=params,
7177
stream=stream,
78+
verify=self.requests_verify,
7279
)
7380
elif isinstance(body, bytes):
7481
request = http_method(
@@ -78,6 +85,7 @@ def send_request(
7885
data=body,
7986
params=params,
8087
stream=stream,
88+
verify=self.requests_verify,
8189
)
8290
else:
8391
request = http_method(
@@ -87,6 +95,7 @@ def send_request(
8795
data=json_serialize(body) if serialize else body,
8896
params=params,
8997
stream=stream,
98+
verify=self.requests_verify,
9099
)
91100

92101
resp = self.__validate(request, stream=stream)

python/feldera/rest/config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,19 @@ def __init__(
1212
api_key: Optional[str] = None,
1313
version: Optional[str] = None,
1414
timeout: Optional[float] = None,
15+
requests_verify: bool = True,
1516
) -> None:
1617
"""
1718
:param url: The url to the Feldera API (ex: https://try.feldera.com)
1819
:param api_key: The optional API key to access Feldera
1920
:param version: The version of the API to use
2021
:param timeout: The timeout for the HTTP requests
22+
:param requests_verify: The `verify` parameter passed to the requests
23+
library. `True` by default.
2124
"""
2225

2326
self.url: str = url
2427
self.api_key: Optional[str] = api_key
2528
self.version: Optional[str] = version or "v0"
2629
self.timeout: Optional[float] = timeout
30+
self.requests_verify: bool = requests_verify

python/feldera/rest/feldera_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,18 @@ def __init__(
2929
url: str,
3030
api_key: Optional[str] = None,
3131
timeout: Optional[float] = None,
32+
requests_verify: bool = True,
3233
) -> None:
3334
"""
3435
:param url: The url to Feldera API (ex: https://try.feldera.com)
3536
:param api_key: The optional API key for Feldera
3637
:param timeout: (optional) The amount of time in seconds that the client will wait for a response before timing
3738
out.
39+
:param requests_verify: The `verify` parameter passed to the requests
40+
library. `True` by default.
3841
"""
3942

40-
self.config = Config(url, api_key, timeout=timeout)
43+
self.config = Config(url, api_key, timeout=timeout, requests_verify=requests_verify)
4144
self.http = HttpRequests(self.config)
4245

4346
try:

python/uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)