mercurial/wireprotoserver.py
changeset 36862 ec0af9c59270
parent 36861 a88d68dc3ee8
child 36867 a755fd3b7146
--- 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,