From 16f9798208f2ef78e3ba91fc03584a522dd258a9 Mon Sep 17 00:00:00 2001 From: Erik Wickstrom Date: Thu, 12 Dec 2013 16:19:50 -0800 Subject: [PATCH] Fixed pickle support for requests.adapters.HTTPAdapter by adding 'proxy_manager' when unpickling. --- requests/adapters.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/requests/adapters.py b/requests/adapters.py index 0bba3e9..5bb7b0c 100644 --- a/requests/adapters.py +++ b/requests/adapters.py @@ -97,6 +97,11 @@ class HTTPAdapter(BaseAdapter): self.init_poolmanager(self._pool_connections, self._pool_maxsize, block=self._pool_block) + # Can't handle by adding 'proxy_manager' to self.__attrs__ because + # because self.poolmanager uses a lambda function, which isn't pickleable. + if not hasattr(self, 'proxy_manager'): + self.proxy_manager = {} + def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK): """Initializes a urllib3 PoolManager. This method should not be called from user code, and is only exposed for use when subclassing the -- 2.7.4