From b5c36b56bd74ddb544deeca40d65a9a87761d5f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=87a=C4=9Fr=C4=B1=20Ula=C5=9F?= Date: Mon, 19 Nov 2018 12:38:38 +0300 Subject: [PATCH] Make requests' Session persistent in ConnectionManager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Çağrı Ulaş --- keycloak/connection.py | 45 +++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/keycloak/connection.py b/keycloak/connection.py index 6420996..3826936 100644 --- a/keycloak/connection.py +++ b/keycloak/connection.py @@ -45,6 +45,7 @@ class ConnectionManager(object): self._headers = headers self._timeout = timeout self._verify = verify + self._s = requests.Session() @property def base_url(self): @@ -134,11 +135,11 @@ class ConnectionManager(object): """ try: - return requests.get(urljoin(self.base_url, path), - params=kwargs, - headers=self.headers, - timeout=self.timeout, - verify=self.verify) + return self._s.get(urljoin(self.base_url, path), + params=kwargs, + headers=self.headers, + timeout=self.timeout, + verify=self.verify) except Exception as e: raise KeycloakConnectionError( "Can't connect to server (%s)" % e) @@ -154,12 +155,12 @@ class ConnectionManager(object): HttpError: Can't connect to server. """ try: - return requests.post(urljoin(self.base_url, path), - params=kwargs, - data=data, - headers=self.headers, - timeout=self.timeout, - verify=self.verify) + return self._s.post(urljoin(self.base_url, path), + params=kwargs, + data=data, + headers=self.headers, + timeout=self.timeout, + verify=self.verify) except Exception as e: raise KeycloakConnectionError( "Can't connect to server (%s)" % e) @@ -175,12 +176,12 @@ class ConnectionManager(object): HttpError: Can't connect to server. """ try: - return requests.put(urljoin(self.base_url, path), - params=kwargs, - data=data, - headers=self.headers, - timeout=self.timeout, - verify=self.verify) + return self._s.put(urljoin(self.base_url, path), + params=kwargs, + data=data, + headers=self.headers, + timeout=self.timeout, + verify=self.verify) except Exception as e: raise KeycloakConnectionError( "Can't connect to server (%s)" % e) @@ -196,11 +197,11 @@ class ConnectionManager(object): HttpError: Can't connect to server. """ try: - return requests.delete(urljoin(self.base_url, path), - params=kwargs, - headers=self.headers, - timeout=self.timeout, - verify=self.verify) + return self._s.delete(urljoin(self.base_url, path), + params=kwargs, + headers=self.headers, + timeout=self.timeout, + verify=self.verify) except Exception as e: raise KeycloakConnectionError( "Can't connect to server (%s)" % e)