Makes use of requests.Session

This allows better connection pooling and may improve performances.

Change-Id: I69e986b7387dd3ac281731b8355a3eec34a537f8
This commit is contained in:
Tristan Cacqueray 2014-02-18 18:11:58 +01:00
parent aaa563c749
commit fa20e7f685

@ -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 """