From fa20e7f6850a4793f8fb18400263269c24eda2ed Mon Sep 17 00:00:00 2001 From: Tristan Cacqueray <tristan.cacqueray@enovance.com> Date: Tue, 18 Feb 2014 18:11:58 +0100 Subject: [PATCH] Makes use of requests.Session This allows better connection pooling and may improve performances. Change-Id: I69e986b7387dd3ac281731b8355a3eec34a537f8 --- swiftclient/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/swiftclient/client.py b/swiftclient/client.py index 27664614..675fe2ef 100644 --- a/swiftclient/client.py +++ b/swiftclient/client.py @@ -166,6 +166,7 @@ class HTTPConnection: self.host = self.parsed_url.netloc self.port = self.parsed_url.port self.requests_args = {} + self.request_session = requests.Session() if self.parsed_url.scheme not in ('http', 'https'): raise ClientException("Unsupported scheme") self.requests_args['verify'] = not insecure @@ -190,7 +191,7 @@ class HTTPConnection: def _request(self, *arg, **kwarg): """ Final wrapper before requests call, to be patched in tests """ - return requests.request(*arg, **kwarg) + return self.request_session.request(*arg, **kwarg) def request(self, method, full_path, data=None, headers=None, files=None): """ Encode url and header, then call requests.request """