Fixed pickle support for requests.adapters.HTTPAdapter by adding
authorErik Wickstrom <erik@erikwickstrom.com>
Fri, 13 Dec 2013 00:19:50 +0000 (16:19 -0800)
committerIan Cordasco <graffatcolmingov@gmail.com>
Sat, 14 Dec 2013 04:28:37 +0000 (22:28 -0600)
'proxy_manager' when unpickling.

requests/adapters.py

index 0bba3e9..5bb7b0c 100644 (file)
@@ -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