wireprotoserver: py3 helpfully calls adds HTTP_ to CONTENT_LENGTH
Just handle both with a membership check, preferring the HTTP_
namespaced version. Sigh.
Differential Revision: https://phab.mercurial-scm.org/D2310
--- a/mercurial/wireprotoserver.py Sun Feb 18 00:01:43 2018 -0500
+++ b/mercurial/wireprotoserver.py Sun Feb 18 00:02:33 2018 -0500
@@ -142,7 +142,10 @@
return args
def forwardpayload(self, fp):
- length = int(self._req.env[r'CONTENT_LENGTH'])
+ if r'HTTP_CONTENT_LENGTH' in self._req.env:
+ length = int(self._req.env[r'HTTP_CONTENT_LENGTH'])
+ else:
+ length = int(self._req.env[r'CONTENT_LENGTH'])
# If httppostargs is used, we need to read Content-Length
# minus the amount that was consumed by args.
length -= int(self._req.env.get(r'HTTP_X_HGARGS_POST', 0))