mercurial/wireprotoserver.py
changeset 36857 da4e2f87167d
parent 36855 2cdf47e14c30
child 36861 a88d68dc3ee8
equal deleted inserted replaced
36856:1f7d9024674c 36857:da4e2f87167d
    81     def _args(self):
    81     def _args(self):
    82         args = util.rapply(pycompat.bytesurl, self._wsgireq.form.copy())
    82         args = util.rapply(pycompat.bytesurl, self._wsgireq.form.copy())
    83         postlen = int(self._req.headers.get(b'X-HgArgs-Post', 0))
    83         postlen = int(self._req.headers.get(b'X-HgArgs-Post', 0))
    84         if postlen:
    84         if postlen:
    85             args.update(urlreq.parseqs(
    85             args.update(urlreq.parseqs(
    86                 self._wsgireq.inp.read(postlen), keep_blank_values=True))
    86                 self._req.bodyfh.read(postlen), keep_blank_values=True))
    87             return args
    87             return args
    88 
    88 
    89         argvalue = decodevaluefromheaders(self._req, b'X-HgArg')
    89         argvalue = decodevaluefromheaders(self._req, b'X-HgArg')
    90         args.update(urlreq.parseqs(argvalue, keep_blank_values=True))
    90         args.update(urlreq.parseqs(argvalue, keep_blank_values=True))
    91         return args
    91         return args
    95         length = int(self._req.headers[b'Content-Length'])
    95         length = int(self._req.headers[b'Content-Length'])
    96 
    96 
    97         # If httppostargs is used, we need to read Content-Length
    97         # If httppostargs is used, we need to read Content-Length
    98         # minus the amount that was consumed by args.
    98         # minus the amount that was consumed by args.
    99         length -= int(self._req.headers.get(b'X-HgArgs-Post', 0))
    99         length -= int(self._req.headers.get(b'X-HgArgs-Post', 0))
   100         for s in util.filechunkiter(self._wsgireq.inp, limit=length):
   100         for s in util.filechunkiter(self._req.bodyfh, limit=length):
   101             fp.write(s)
   101             fp.write(s)
   102 
   102 
   103     @contextlib.contextmanager
   103     @contextlib.contextmanager
   104     def mayberedirectstdio(self):
   104     def mayberedirectstdio(self):
   105         oldout = self._ui.fout
   105         oldout = self._ui.fout