small workaround for issue #7
authorFlavio Percoco Premoli <flaper87@gmail.com>
Wed, 23 Feb 2011 07:49:08 +0000 (08:49 +0100)
committerFlavio Percoco Premoli <flaper87@gmail.com>
Wed, 23 Feb 2011 07:49:08 +0000 (08:49 +0100)
requests/core.py
requests/packages/poster/streaminghttp.py

index 3f599b1..c7726c2 100644 (file)
@@ -30,7 +30,7 @@ if not 'eventlet' in locals():
         pass
 
 from .packages.poster.encode import multipart_encode
-from .packages.poster.streaminghttp import register_openers
+from .packages.poster.streaminghttp import register_openers, get_handlers
 
 
 __title__ = 'requests'
@@ -124,6 +124,7 @@ class Request(object):
                 cookie_handler = urllib2.HTTPCookieProcessor(cookiejar)
                 _handlers.append(cookie_handler)
 
+            _handlers += get_handlers()
             opener = urllib2.build_opener(*_handlers)
             return opener.open
 
index 379d769..1b591d4 100644 (file)
@@ -181,16 +181,18 @@ if hasattr(httplib, 'HTTPS'):
             return urllib2.HTTPSHandler.do_request_(self, req)
 
 
+def get_handlers():
+    handlers = [StreamingHTTPHandler, StreamingHTTPRedirectHandler]
+    if hasattr(httplib, "HTTPS"):
+        handlers.append(StreamingHTTPSHandler)
+    return handlers
+    
 def register_openers():
     """Register the streaming http handlers in the global urllib2 default
     opener object.
 
     Returns the created OpenerDirector object."""
-    handlers = [StreamingHTTPHandler, StreamingHTTPRedirectHandler]
-    if hasattr(httplib, "HTTPS"):
-        handlers.append(StreamingHTTPSHandler)
-
-    opener = urllib2.build_opener(*handlers)
+    opener = urllib2.build_opener(*get_handlers())
 
     urllib2.install_opener(opener)