diff -r a88d68dc3ee8 -r ec0af9c59270 mercurial/wireprotoserver.py --- a/mercurial/wireprotoserver.py Sat Mar 10 11:23:05 2018 -0800 +++ b/mercurial/wireprotoserver.py Sat Mar 10 12:35:38 2018 -0800 @@ -79,7 +79,7 @@ return [data[k] for k in keys] def _args(self): - args = util.rapply(pycompat.bytesurl, self._wsgireq.form.copy()) + args = self._req.qsparams.asdictoflists() postlen = int(self._req.headers.get(b'X-HgArgs-Post', 0)) if postlen: args.update(urlreq.parseqs( @@ -170,10 +170,10 @@ # HTTP version 1 wire protocol requests are denoted by a "cmd" query # string parameter. If it isn't present, this isn't a wire protocol # request. - if 'cmd' not in req.querystringdict: + if 'cmd' not in req.qsparams: return False - cmd = req.querystringdict['cmd'][0] + cmd = req.qsparams['cmd'] # The "cmd" request parameter is used by both the wire protocol and hgweb. # While not all wire protocol commands are available for all transports,