hgweb: use Content-Length for pushres
authorMads Kiilerich <mads@kiilerich.com>
Tue, 15 Jan 2013 01:05:12 +0100
changeset 18346 6c2563b2c1c6
parent 18345 590056e0ec2f
child 18347 853221386f48
hgweb: use Content-Length for pushres This prevents some unnecessary http connection close.
mercurial/hgweb/protocol.py
tests/test-push-cgi.t
--- a/mercurial/hgweb/protocol.py	Tue Jan 15 01:05:12 2013 +0100
+++ b/mercurial/hgweb/protocol.py	Tue Jan 15 01:05:12 2013 +0100
@@ -82,8 +82,9 @@
         return rsp.gen
     elif isinstance(rsp, wireproto.pushres):
         val = p.restore()
-        req.respond(HTTP_OK, HGTYPE)
-        return ['%d\n%s' % (rsp.res, val)]
+        rsp = '%d\n%s' % (rsp.res, val)
+        req.respond(HTTP_OK, HGTYPE, length=len(rsp))
+        return [rsp]
     elif isinstance(rsp, wireproto.pusherr):
         # drain the incoming bundle
         req.drain()
--- a/tests/test-push-cgi.t	Tue Jan 15 01:05:12 2013 +0100
+++ b/tests/test-push-cgi.t	Tue Jan 15 01:05:12 2013 +0100
@@ -54,6 +54,7 @@
   $ cat page2
   Status: 200 Script output follows\r (esc)
   Content-Type: application/mercurial-0.1\r (esc)
+  Content-Length: 102\r (esc)
   \r (esc)
   1
   adding changesets
@@ -68,6 +69,7 @@
   $ cat page3
   Status: 200 Script output follows\r (esc)
   Content-Type: application/mercurial-0.1\r (esc)
+  Content-Length: 102\r (esc)
   \r (esc)
   1
   adding changesets
@@ -82,6 +84,7 @@
   $ cat page4
   Status: 200 Script output follows\r (esc)
   Content-Type: application/mercurial-0.1\r (esc)
+  Content-Length: 102\r (esc)
   \r (esc)
   1
   adding changesets