mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
Use socket.setdefaulttimeout(timeout) only if timeout argument doesn't exist (Python <2.6) - https://github.com/kennethreitz/requests/issues/112
This commit is contained in:
@@ -31,4 +31,5 @@ Patches and Suggestions
|
||||
- Tamás Gulácsi
|
||||
- Rubén Abad
|
||||
- Peter Manser
|
||||
- Jeremy Selie
|
||||
- Jeremy Selie
|
||||
- Jens Diemer
|
||||
+13
-2
@@ -38,7 +38,8 @@ class Request(object):
|
||||
params=dict(), auth=None, cookiejar=None, timeout=None, redirect=False,
|
||||
allow_redirects=False, proxies=None):
|
||||
|
||||
socket.setdefaulttimeout(timeout)
|
||||
#socket.setdefaulttimeout(timeout)
|
||||
self.timeout = timeout
|
||||
|
||||
#: Request URL.
|
||||
self.url = url
|
||||
@@ -306,7 +307,17 @@ class Request(object):
|
||||
|
||||
try:
|
||||
opener = self._get_opener()
|
||||
resp = opener(req)
|
||||
try:
|
||||
resp = opener(req, timeout=self.timeout)
|
||||
except TypeError, err:
|
||||
# timeout argument is new since Python v2.6
|
||||
if not "timeout" in str(err):
|
||||
raise
|
||||
# set global socket timeout
|
||||
old_timeout = socket.getdefaulttimeout()
|
||||
socket.setdefaulttimeout(self.timeout)
|
||||
resp = opener(req)
|
||||
socket.setdefaulttimeout(old_timeout)
|
||||
|
||||
if self.cookiejar is not None:
|
||||
self.cookiejar.extract_cookies(resp, req)
|
||||
|
||||
Reference in New Issue
Block a user