diff options
author | Gregory P. Smith <greg@mad-scientist.com> | 2010-01-03 02:06:07 +0000 |
---|---|---|
committer | Gregory P. Smith <greg@mad-scientist.com> | 2010-01-03 02:06:07 +0000 |
commit | 9d3252154f99c8f229e12e4146ae322abf042450 (patch) | |
tree | d406bfc6480798852edd68de7741f45561da2e71 /Lib/httplib.py | |
parent | 79a3eb1058057185cb901b0f5f67fea05494e1fb (diff) | |
download | cpython-git-9d3252154f99c8f229e12e4146ae322abf042450.tar.gz |
issue3972: HTTPConnection and HTTPSConnection now support a
source_address parameter.
Also cleans up an annotation in the socket documentation.
Diffstat (limited to 'Lib/httplib.py')
-rw-r--r-- | Lib/httplib.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Lib/httplib.py b/Lib/httplib.py index 39acd1c04b..c5e600c709 100644 --- a/Lib/httplib.py +++ b/Lib/httplib.py @@ -658,8 +658,9 @@ class HTTPConnection: strict = 0 def __init__(self, host, port=None, strict=None, - timeout=socket._GLOBAL_DEFAULT_TIMEOUT): + timeout=socket._GLOBAL_DEFAULT_TIMEOUT, source_address=None): self.timeout = timeout + self.source_address = source_address self.sock = None self._buffer = [] self.__response = None @@ -728,7 +729,7 @@ class HTTPConnection: def connect(self): """Connect to the host and port specified in __init__.""" self.sock = socket.create_connection((self.host,self.port), - self.timeout) + self.timeout, self.source_address) if self._tunnel_host: self._tunnel() @@ -1133,15 +1134,18 @@ else: default_port = HTTPS_PORT def __init__(self, host, port=None, key_file=None, cert_file=None, - strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT): - HTTPConnection.__init__(self, host, port, strict, timeout) + strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + source_address=None): + HTTPConnection.__init__(self, host, port, strict, timeout, + source_address) self.key_file = key_file self.cert_file = cert_file def connect(self): "Connect to a host on a given (SSL) port." - sock = socket.create_connection((self.host, self.port), self.timeout) + sock = socket.create_connection((self.host, self.port), + self.timeout, self.source_address) if self._tunnel_host: self.sock = sock self._tunnel() |