Right now http.py implicitly assumes that an ECONNRESET error will be raised as a ConnectionError. However, in some cases urllib3 will raise this a regular OSError with the ernno set to match ECONNRESET. http.py should check for the errnos that correspond to the subclasses of ConnectionError to be extra safe.