[PATCH 02 of 12] hgweb: send Content-Length 0 for zero length response
Mads Kiilerich
mads at kiilerich.com
Fri Jan 11 17:32:46 CST 2013
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1357947109 -3600
# Node ID 4f58d5f65b70b060df3f76cfe72a6716a69a40b6
# Parent 0a7d8aa24714c134ebdcb06dc1e583e04fd85d10
hgweb: send Content-Length 0 for zero length response
Before, Content-Length wasn't sent for 0 length responses. Now it is.
This could in principle prevent some unnecessary http connection close.
diff --git a/mercurial/hgweb/request.py b/mercurial/hgweb/request.py
--- a/mercurial/hgweb/request.py
+++ b/mercurial/hgweb/request.py
@@ -70,7 +70,7 @@
for s in util.filechunkiter(self.inp, limit=length):
pass
- def respond(self, status, type=None, filename=None, length=0):
+ def respond(self, status, type=None, filename=None, length=None):
if self._start_response is not None:
self.httphdr(type, filename, length)
@@ -125,7 +125,7 @@
def header(self, headers=[('Content-Type','text/html')]):
self.headers.extend(headers)
- def httphdr(self, type=None, filename=None, length=0, headers={}):
+ def httphdr(self, type=None, filename=None, length=None, headers={}):
headers = headers.items()
if type is not None:
headers.append(('Content-Type', type))
@@ -134,7 +134,7 @@
.replace('\\', '\\\\').replace('"', '\\"'))
headers.append(('Content-Disposition',
'inline; filename="%s"' % filename))
- if length:
+ if length is not None:
headers.append(('Content-Length', str(length)))
self.header(headers)
More information about the Mercurial-devel
mailing list