Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit d0a7800

Browse files
[client] Adapt client to use session (performance)
1 parent 9cf7912 commit d0a7800

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

pycti/api/opencti_api_client.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ def __init__(self, url, token, log_level="info", ssl_verify=False, proxies={}):
101101
self.api_token = token
102102
self.api_url = url + "/graphql"
103103
self.request_headers = {"Authorization": "Bearer " + token}
104+
self.session = requests.session()
104105

105106
# Define the dependencies
106107
self.work = OpenCTIApiWork(self)
@@ -241,7 +242,7 @@ def query(self, query, variables={}):
241242
multipart_files.append(file_multi)
242243
file_index += 1
243244
# Send the multipart request
244-
r = requests.post(
245+
r = self.session.post(
245246
self.api_url,
246247
data=multipart_data,
247248
files=multipart_files,
@@ -251,7 +252,7 @@ def query(self, query, variables={}):
251252
)
252253
# If no
253254
else:
254-
r = requests.post(
255+
r = self.session.post(
255256
self.api_url,
256257
json={"query": query, "variables": variables},
257258
headers=self.request_headers,
@@ -295,7 +296,7 @@ def fetch_opencti_file(self, fetch_uri, binary=False):
295296
:rtype: str or bytes
296297
"""
297298

298-
r = requests.get(fetch_uri, headers=self.request_headers)
299+
r = self.session.get(fetch_uri, headers=self.request_headers)
299300
if binary:
300301
return r.content
301302
return r.text

pycti/connector/opencti_connector_helper.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ def __init__(
206206
self.connector_last_event_id = connector_last_event_id
207207
self.last_event_id = last_event_id
208208
self.stream_connection_id = stream_connection_id
209+
self.session = requests.session()
209210

210211
def get_range(self, from_id):
211212
payload = {
@@ -214,7 +215,7 @@ def get_range(self, from_id):
214215
"connectionId": self.stream_connection_id,
215216
}
216217
headers = {"Authorization": "Bearer " + self.opencti_token}
217-
r = requests.post(
218+
r = self.session.post(
218219
self.opencti_url + "/stream/history", json=payload, headers=headers
219220
)
220221
result = r.json()

0 commit comments

Comments
 (0)