mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
Wrap socket.error in ConnectionError (+ unit tests)
This commit is contained in:
@@ -8,6 +8,7 @@ This module contains the primary objects that power Requests.
|
||||
"""
|
||||
|
||||
import os
|
||||
import socket
|
||||
from datetime import datetime
|
||||
|
||||
from .hooks import dispatch_hook, HOOKS
|
||||
@@ -608,6 +609,9 @@ class Request(object):
|
||||
)
|
||||
self.sent = True
|
||||
|
||||
except socket.error as sockerr:
|
||||
raise ConnectionError(sockerr)
|
||||
|
||||
except MaxRetryError as e:
|
||||
raise ConnectionError(e)
|
||||
|
||||
|
||||
@@ -811,6 +811,20 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase):
|
||||
assert ds1.prefetch
|
||||
assert not ds2.prefetch
|
||||
|
||||
def test_connection_error(self):
|
||||
try:
|
||||
get('http://localhost:1/nope')
|
||||
except requests.ConnectionError:
|
||||
pass
|
||||
else:
|
||||
assert False
|
||||
|
||||
def test_connection_error_with_safe_mode(self):
|
||||
config = {'safe_mode': True}
|
||||
r = get('http://localhost:1/nope', allow_redirects=False, config=config)
|
||||
assert r.content == None
|
||||
|
||||
|
||||
# def test_invalid_content(self):
|
||||
# # WARNING: if you're using a terrible DNS provider (comcast),
|
||||
# # this will fail.
|
||||
|
||||
Reference in New Issue
Block a user