cleanup: use urllibcompat for renamed methods on urllib request objects
Differential Revision: https://phab.mercurial-scm.org/D891
--- a/mercurial/byterange.py Sun Oct 01 10:45:03 2017 -0400
+++ b/mercurial/byterange.py Sun Oct 01 12:14:21 2017 -0400
@@ -28,6 +28,7 @@
import stat
from . import (
+ urllibcompat,
util,
)
@@ -214,8 +215,8 @@
server would.
"""
def open_local_file(self, req):
- host = req.get_host()
- file = req.get_selector()
+ host = urllibcompat.gethost(req)
+ file = urllibcompat.getselector(req)
localfile = urlreq.url2pathname(file)
stats = os.stat(localfile)
size = stats[stat.ST_SIZE]
@@ -252,7 +253,7 @@
class FTPRangeHandler(urlreq.ftphandler):
def ftp_open(self, req):
- host = req.get_host()
+ host = urllibcompat.gethost(req)
if not host:
raise IOError('ftp error', 'no host given')
host, port = splitport(host)
--- a/mercurial/httpconnection.py Sun Oct 01 10:45:03 2017 -0400
+++ b/mercurial/httpconnection.py Sun Oct 01 12:14:21 2017 -0400
@@ -18,6 +18,7 @@
from . import (
httpclient,
sslutil,
+ urllibcompat,
util,
)
@@ -174,13 +175,14 @@
# object. On Python 2.6.5, it's stored in the _tunnel_host
# attribute which has no accessor.
tunhost = getattr(req, '_tunnel_host', None)
- host = req.get_host()
+ host = urllibcompat.gethost(req)
if tunhost:
proxyhost = host
host = tunhost
elif req.has_proxy():
- proxyhost = req.get_host()
- host = req.get_selector().split('://', 1)[1].split('/', 1)[0]
+ proxyhost = urllibcompat.gethost(req)
+ host = urllibcompat.getselector(
+ req).split('://', 1)[1].split('/', 1)[0]
else:
proxyhost = None
@@ -219,7 +221,7 @@
headers = dict(
(name.title(), val) for name, val in headers.items())
try:
- path = req.get_selector()
+ path = urllibcompat.getselector(req)
if '://' in path:
path = path.split('://', 1)[1].split('/', 1)[1]
if path[0] != '/':
@@ -233,7 +235,7 @@
# object initialized properly.
r.recv = r.read
- resp = urlreq.addinfourl(r, r.headers, req.get_full_url())
+ resp = urlreq.addinfourl(r, r.headers, urllibcompat.getfullurl(req))
resp.code = r.status
resp.msg = r.reason
return resp
@@ -242,7 +244,7 @@
# target, and then allows full URIs in the request path, which it
# then observes and treats as a signal to do proxying instead.
def http_open(self, req):
- if req.get_full_url().startswith('https'):
+ if urllibcompat.getfullurl(req).startswith('https'):
return self.https_open(req)
def makehttpcon(*args, **kwargs):
k2 = dict(kwargs)
@@ -251,9 +253,9 @@
return self.do_open(makehttpcon, req, False)
def https_open(self, req):
- # req.get_full_url() does not contain credentials and we may
+ # urllibcompat.getfullurl(req) does not contain credentials and we may
# need them to match the certificates.
- url = req.get_full_url()
+ url = urllibcompat.getfullurl(req)
user, password = self.pwmgr.find_stored_password(url)
res = readauthforuri(self.ui, url, user)
if res:
--- a/mercurial/keepalive.py Sun Oct 01 10:45:03 2017 -0400
+++ b/mercurial/keepalive.py Sun Oct 01 12:14:21 2017 -0400
@@ -93,6 +93,7 @@
from .i18n import _
from . import (
pycompat,
+ urllibcompat,
util,
)
@@ -206,7 +207,7 @@
return self.do_open(HTTPConnection, req)
def do_open(self, http_class, req):
- host = req.get_host()
+ host = urllibcompat.gethost(req)
if not host:
raise urlerr.urlerror('no host given')
@@ -317,10 +318,11 @@
if n in headers:
skipheaders['skip_' + n.replace('-', '_')] = 1
try:
- if req.has_data():
- data = req.get_data()
+ if urllibcompat.hasdata(req):
+ data = urllibcompat.getdata(req)
h.putrequest(
- req.get_method(), req.get_selector(), **skipheaders)
+ req.get_method(), urllibcompat.getselector(req),
+ **skipheaders)
if 'content-type' not in headers:
h.putheader('Content-type',
'application/x-www-form-urlencoded')
@@ -328,13 +330,14 @@
h.putheader('Content-length', '%d' % len(data))
else:
h.putrequest(
- req.get_method(), req.get_selector(), **skipheaders)
+ req.get_method(), urllibcompat.getselector(req),
+ **skipheaders)
except socket.error as err:
raise urlerr.urlerror(err)
for k, v in headers.items():
h.putheader(k, v)
h.endheaders()
- if req.has_data():
+ if urllibcompat.hasdata(req):
h.send(data)
class HTTPHandler(KeepAliveHandler, urlreq.httphandler):
--- a/mercurial/url.py Sun Oct 01 10:45:03 2017 -0400
+++ b/mercurial/url.py Sun Oct 01 12:14:21 2017 -0400
@@ -21,6 +21,7 @@
keepalive,
pycompat,
sslutil,
+ urllibcompat,
util,
)
@@ -119,7 +120,7 @@
self.ui = ui
def proxy_open(self, req, proxy, type_):
- host = req.get_host().split(':')[0]
+ host = urllibcompat.gethost(req).split(':')[0]
for e in self.no_list:
if host == e:
return None
@@ -166,10 +167,10 @@
tunnel_host = 'https://' + tunnel_host
new_tunnel = True
else:
- tunnel_host = req.get_selector()
+ tunnel_host = urllibcompat.getselector(req)
new_tunnel = False
- if new_tunnel or tunnel_host == req.get_full_url(): # has proxy
+ if new_tunnel or tunnel_host == urllibcompat.getfullurl(req): # has proxy
u = util.url(tunnel_host)
if new_tunnel or u.scheme == 'https': # only use CONNECT for HTTPS
h.realhostport = ':'.join([u.host, (u.port or '443')])
@@ -320,9 +321,9 @@
return keepalive.KeepAliveHandler._start_transaction(self, h, req)
def https_open(self, req):
- # req.get_full_url() does not contain credentials and we may
- # need them to match the certificates.
- url = req.get_full_url()
+ # urllibcompat.getfullurl() does not contain credentials
+ # and we may need them to match the certificates.
+ url = urllibcompat.getfullurl(req)
user, password = self.pwmgr.find_stored_password(url)
res = httpconnectionmod.readauthforuri(self.ui, url, user)
if res:
@@ -406,7 +407,8 @@
self, auth_header, host, req, headers)
def retry_http_basic_auth(self, host, req, realm):
- user, pw = self.passwd.find_user_password(realm, req.get_full_url())
+ user, pw = self.passwd.find_user_password(
+ realm, urllibcompat.getfullurl(req))
if pw is not None:
raw = "%s:%s" % (user, pw)
auth = 'Basic %s' % base64.b64encode(raw).strip()