From 01016f7a72d6aa702f2bf2f0a6b9b47f6bc478d6 Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Mon, 29 Jul 2024 11:36:37 +0200
Subject: [PATCH] re-use TCP session in Kentik client

---
 gso/services/kentik_client.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gso/services/kentik_client.py b/gso/services/kentik_client.py
index be289e5c..bb81a826 100644
--- a/gso/services/kentik_client.py
+++ b/gso/services/kentik_client.py
@@ -33,18 +33,19 @@ class KentikClient:
     def __init__(self) -> None:
         """Instantiate a new Kentik Client."""
         self.config = load_oss_params().KENTIK
-        self.headers = {
+        self.session = requests.Session()
+        self.session.headers.update({
             "X-CH-Auth-Email": self.config.user_email,
             "X-CH-Auth-API-Token": self.config.api_key,
             "Content-Type": "application/json",
-        }
+        })
 
     def _send_request(
         self, method: Literal["GET", "POST", "PUT", "DELETE"], endpoint: str, data: dict[str, Any] | None = None
     ) -> Response:
         url = self.config.api_base + endpoint
         logger.debug("Kentik - Sending request", extra={"method": method, "endpoint": url, "form_data": data})
-        result = requests.request(method, url, json=data, headers=self.headers)
+        result = self.session.request(method, url, json=data)
         logger.debug("Kentik - Received response", extra=result.__dict__)
 
         return result
-- 
GitLab