Capture and re-raise urllib3 ProtocolError
authorIan Cordasco <ian.cordasco@rackspace.com>
Fri, 29 Aug 2014 20:16:30 +0000 (15:16 -0500)
committerIan Cordasco <ian.cordasco@rackspace.com>
Fri, 29 Aug 2014 20:16:30 +0000 (15:16 -0500)
requests/adapters.py

index 3c1e979f14788ee3acb7fc65c504bc13e1c86963..6c6597da411c8c16c4670f548b1afc8d17673d8f 100644 (file)
@@ -23,6 +23,7 @@ from .packages.urllib3.exceptions import ConnectTimeoutError
 from .packages.urllib3.exceptions import HTTPError as _HTTPError
 from .packages.urllib3.exceptions import MaxRetryError
 from .packages.urllib3.exceptions import ProxyError as _ProxyError
+from .packages.urllib3.exceptions import ProtocolError
 from .packages.urllib3.exceptions import ReadTimeoutError
 from .packages.urllib3.exceptions import SSLError as _SSLError
 from .cookies import extract_cookies_to_jar
@@ -403,6 +404,9 @@ class HTTPAdapter(BaseAdapter):
         except socket.error as sockerr:
             raise ConnectionError(sockerr, request=request)
 
+        except ProtocolError as e:
+            raise ConnectionError(e, request=request)
+
         except MaxRetryError as e:
             if isinstance(e.reason, ConnectTimeoutError):
                 raise ConnectTimeout(e, request=request)