summaryrefslogtreecommitdiffstats
path: root/Lib/httplib.py
diff options
context:
space:
mode:
authorFacundo Batista <facundobatista@gmail.com>2007-03-23 18:54:07 (GMT)
committerFacundo Batista <facundobatista@gmail.com>2007-03-23 18:54:07 (GMT)
commit07c78be0b4723deb62acebab50888cc59b1e4eb2 (patch)
tree0d1da08d12eafe4ac485889e1aac891e035c0696 /Lib/httplib.py
parentf102e24bd34442026f4200a298a8b08d1deb3616 (diff)
downloadcpython-07c78be0b4723deb62acebab50888cc59b1e4eb2.zip
cpython-07c78be0b4723deb62acebab50888cc59b1e4eb2.tar.gz
cpython-07c78be0b4723deb62acebab50888cc59b1e4eb2.tar.bz2
Added a 'create_connect()' function to socket.py, which creates a
connection with an optional timeout, and modified httplib.py to use this function in HTTPConnection. Applies patch 1676823.
Diffstat (limited to 'Lib/httplib.py')
-rw-r--r--Lib/httplib.py23
1 files changed, 3 insertions, 20 deletions
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 213d80c..008f0a4 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -625,7 +625,8 @@ class HTTPConnection:
debuglevel = 0
strict = 0
- def __init__(self, host, port=None, strict=None):
+ def __init__(self, host, port=None, strict=None, timeout=None):
+ self.timeout = timeout
self.sock = None
self._buffer = []
self.__response = None
@@ -658,25 +659,7 @@ class HTTPConnection:
def connect(self):
"""Connect to the host and port specified in __init__."""
- msg = "getaddrinfo returns an empty list"
- for res in socket.getaddrinfo(self.host, self.port, 0,
- socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.sock = socket.socket(af, socktype, proto)
- if self.debuglevel > 0:
- print "connect: (%s, %s)" % (self.host, self.port)
- self.sock.connect(sa)
- except socket.error, msg:
- if self.debuglevel > 0:
- print 'connect fail:', (self.host, self.port)
- if self.sock:
- self.sock.close()
- self.sock = None
- continue
- break
- if not self.sock:
- raise socket.error, msg
+ self.sock = socket.create_connection((self.host,self.port), self.timeout)
def close(self):
"""Close the connection to the HTTP server."""