From f7be4e5f28335cc2c6d31be716c0a883b64b2a71 Mon Sep 17 00:00:00 2001 From: Cory Benfield Date: Thu, 8 Oct 2015 14:05:17 +0100 Subject: [PATCH] NewConnectionErrors aren't timeouts. This is a compatibility change, and should be removed in 2.8.0 --- requests/adapters.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/requests/adapters.py b/requests/adapters.py index dbeb8cf1..7682db0a 100644 --- a/requests/adapters.py +++ b/requests/adapters.py @@ -24,6 +24,7 @@ from .packages.urllib3.exceptions import ClosedPoolError 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 NewConnectionError from .packages.urllib3.exceptions import ProxyError as _ProxyError from .packages.urllib3.exceptions import ProtocolError from .packages.urllib3.exceptions import ReadTimeoutError @@ -412,7 +413,9 @@ class HTTPAdapter(BaseAdapter): except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): - raise ConnectTimeout(e, request=request) + # TODO: Remove this in 3.0.0: see #2811 + if not isinstance(e.reason, NewConnectionError): + raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request)