diff --git a/mercurial/keepalive.py b/mercurial/keepalive.py --- a/mercurial/keepalive.py +++ b/mercurial/keepalive.py @@ -615,6 +615,10 @@ return safegetresponse class HTTPConnection(httplib.HTTPConnection): + # url.httpsconnection inherits from this. So when adding/removing + # attributes, be sure to audit httpsconnection() for unintended + # consequences. + # use the modified response class response_class = HTTPResponse send = safesend diff --git a/mercurial/url.py b/mercurial/url.py --- a/mercurial/url.py +++ b/mercurial/url.py @@ -339,7 +339,7 @@ return logginghttpconnection(createconnection, *args, **kwargs) if has_https: - class httpsconnection(httplib.HTTPConnection): + class httpsconnection(keepalive.HTTPConnection): response_class = keepalive.HTTPResponse default_port = httplib.HTTPS_PORT # must be able to send big bundle as stream. @@ -348,7 +348,7 @@ def __init__(self, host, port=None, key_file=None, cert_file=None, *args, **kwargs): - httplib.HTTPConnection.__init__(self, host, port, *args, **kwargs) + keepalive.HTTPConnection.__init__(self, host, port, *args, **kwargs) self.key_file = key_file self.cert_file = cert_file