Fixed some pickeling issues with HTTPAdapter and Session
authorFlorian Mueller <florian.mueller@hostpoint.ch>
Tue, 12 Mar 2013 15:04:19 +0000 (16:04 +0100)
committerFlorian Mueller <florian.mueller@hostpoint.ch>
Tue, 12 Mar 2013 15:04:19 +0000 (16:04 +0100)
Added trust_env and stream to Session.__attrs__. Initialize
self._pool_connections and self._pool_maxsize in HTTPAdapter.

requests/adapters.py
requests/sessions.py

index 1472749..5666e66 100644 (file)
@@ -52,6 +52,9 @@ class HTTPAdapter(BaseAdapter):
 
         super(HTTPAdapter, self).__init__()
 
+        self._pool_connections = pool_connections
+        self._pool_maxsize = pool_maxsize
+
         self.init_poolmanager(pool_connections, pool_maxsize)
 
     def __getstate__(self):
@@ -62,9 +65,7 @@ class HTTPAdapter(BaseAdapter):
         for attr, value in state.items():
             setattr(self, attr, value)
 
-        # setup a new poolmanager after unpickling
-        if self._pool_connections is not None:
-            self.init_poolmanager(self._pool_connections, self._pool_maxsize)
+        self.init_poolmanager(self._pool_connections, self._pool_maxsize)
 
     def init_poolmanager(self, connections, maxsize):
         # save these values for pickling
index 36d90a1..979c003 100644 (file)
@@ -178,7 +178,8 @@ class Session(SessionRedirectMixin):
 
     __attrs__ = [
         'headers', 'cookies', 'auth', 'timeout', 'proxies', 'hooks',
-        'params', 'verify', 'cert', 'prefetch', 'adapters']
+        'params', 'verify', 'cert', 'prefetch', 'adapters', 'stream',
+        'trust_env']
 
     def __init__(self):