# HG changeset patch # User Gregory Szorc # Date 1550002436 28800 # Node ID d20f1594ff4ada7623894b3f23ba92391a2b7eb5 # Parent 140b542b0e59750e8dbdb7acca106939140bba2d url: always access req._tunnel_host The getattr() was there to handle Python versions before 2.6, which lacked this attribute. We /might/ be able to further delete some code here. However, the behavior here is extremely hard to follow because large parts of this code duplicate code from the Python standard library and it is difficult to understand what is actually needed. Differential Revision: https://phab.mercurial-scm.org/D5950 diff -r 140b542b0e59 -r d20f1594ff4a mercurial/url.py --- a/mercurial/url.py Fri Feb 15 13:07:07 2019 -0800 +++ b/mercurial/url.py Tue Feb 12 12:13:56 2019 -0800 @@ -179,10 +179,10 @@ return proxyres return keepalive.HTTPConnection.getresponse(self) -# general transaction handler to support different ways to handle -# HTTPS proxying before and after Python 2.6.3. +# Large parts of this function have their origin from before Python 2.6 +# and could potentially be removed. def _generic_start_transaction(handler, h, req): - tunnel_host = getattr(req, '_tunnel_host', None) + tunnel_host = req._tunnel_host if tunnel_host: if tunnel_host[:7] not in ['http://', 'https:/']: tunnel_host = 'https://' + tunnel_host