From c951f0543c86ad7a3f90ead98f581c0af1865abd Mon Sep 17 00:00:00 2001 From: ms4py Date: Mon, 4 Mar 2013 09:39:16 +0100 Subject: [PATCH] Cache manager for proxy connection. --- requests/adapters.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/requests/adapters.py b/requests/adapters.py index 01cbaf4..5dd00d4 100644 --- a/requests/adapters.py +++ b/requests/adapters.py @@ -71,6 +71,7 @@ class HTTPAdapter(BaseAdapter): pool_block=DEFAULT_POOLBLOCK): self.max_retries = max_retries self.config = {} + self.proxy_manager = {} super(HTTPAdapter, self).__init__() @@ -194,7 +195,10 @@ class HTTPAdapter(BaseAdapter): if proxy: except_on_missing_scheme(proxy) - conn = proxy_from_url(proxy).connection_from_url(url) + if not proxy in self.proxy_manager: + self.proxy_manager[proxy] = proxy_from_url(proxy) + + conn = self.proxy_manager[proxy].connection_from_url(url) else: conn = self.poolmanager.connection_from_url(url.lower()) -- 2.7.4