hgweb: force connection close on early response
Not all WSGI servers close the socket when an early response is sent
to a large POST request, which can cause the server to interpret the
already-sent request body as an incoming (but hopelessly invalid)
request.
--- a/mercurial/hgweb/hgweb_mod.py Thu Jul 25 02:41:22 2013 +0400
+++ b/mercurial/hgweb/hgweb_mod.py Sat May 11 20:40:15 2013 -0500
@@ -176,6 +176,8 @@
'').lower() != '100-continue') or
req.env.get('X-HgHttp2', '')):
req.drain()
+ else:
+ req.headers.append(('Connection', 'Close'))
req.respond(inst, protocol.HGTYPE,
body='0\n%s\n' % inst.message)
return ''