Mercurial > hg-stable
changeset 31025:d8d698bcdcd6
tinyproxy: use IPv6 if HGIPV6 is set to 1
This patch makes tinyproxy.py work in IPv6 mode if HGIPV6 is set to 1.
This will make test-http-proxy.t pass on IPv6 machines.
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 15 Feb 2017 22:53:45 -0800 |
parents | d05fefbb5ab3 |
children | d4916aebf3d0 |
files | tests/tinyproxy.py |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/tinyproxy.py Wed Feb 15 21:09:00 2017 -0800 +++ b/tests/tinyproxy.py Wed Feb 15 22:53:45 2017 -0800 @@ -26,6 +26,11 @@ urlparse = util.urlparse socketserver = util.socketserver +if os.environ.get('HGIPV6', '0') == '1': + family = socket.AF_INET6 +else: + family = socket.AF_INET + class ProxyHandler (httpserver.basehttprequesthandler): __base = httpserver.basehttprequesthandler __base_handle = __base.handle @@ -65,7 +70,7 @@ return 1 def do_CONNECT(self): - soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + soc = socket.socket(family, socket.SOCK_STREAM) try: if self._connect_to(self.path, soc): self.log_request(200) @@ -85,7 +90,7 @@ if scm != 'http' or fragment or not netloc: self.send_error(400, "bad url %s" % self.path) return - soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + soc = socket.socket(family, socket.SOCK_STREAM) try: if self._connect_to(netloc, soc): self.log_request()