mercurial/wireprotoserver.py
changeset 36280 685bcdd236b5
parent 36258 af0a19d8812b
child 36371 0c231df1ffdc
equal deleted inserted replaced
36279:1e0c9f9f6f36 36280:685bcdd236b5
   140         argvalue = decodevaluefromheaders(self._req, r'X-HgArg')
   140         argvalue = decodevaluefromheaders(self._req, r'X-HgArg')
   141         args.update(urlreq.parseqs(argvalue, keep_blank_values=True))
   141         args.update(urlreq.parseqs(argvalue, keep_blank_values=True))
   142         return args
   142         return args
   143 
   143 
   144     def forwardpayload(self, fp):
   144     def forwardpayload(self, fp):
   145         length = int(self._req.env[r'CONTENT_LENGTH'])
   145         if r'HTTP_CONTENT_LENGTH' in self._req.env:
       
   146             length = int(self._req.env[r'HTTP_CONTENT_LENGTH'])
       
   147         else:
       
   148             length = int(self._req.env[r'CONTENT_LENGTH'])
   146         # If httppostargs is used, we need to read Content-Length
   149         # If httppostargs is used, we need to read Content-Length
   147         # minus the amount that was consumed by args.
   150         # minus the amount that was consumed by args.
   148         length -= int(self._req.env.get(r'HTTP_X_HGARGS_POST', 0))
   151         length -= int(self._req.env.get(r'HTTP_X_HGARGS_POST', 0))
   149         for s in util.filechunkiter(self._req, limit=length):
   152         for s in util.filechunkiter(self._req, limit=length):
   150             fp.write(s)
   153             fp.write(s)