diff -r 3d080733a339 -r a42d27bc809d mercurial/hgweb/request.py --- a/mercurial/hgweb/request.py Sun Oct 19 22:07:43 2008 +0200 +++ b/mercurial/hgweb/request.py Mon Oct 20 10:15:26 2008 +0200 @@ -7,6 +7,7 @@ # of the GNU General Public License, incorporated herein by reference. import socket, cgi, errno +from mercurial import util from common import ErrorResponse, statusmessage shortcuts = { @@ -57,6 +58,12 @@ def read(self, count=-1): return self.inp.read(count) + def drain(self): + '''need to read all data from request, httplib is half-duplex''' + length = int(self.env.get('CONTENT_LENGTH', 0)) + for s in util.filechunkiter(self.inp, limit=length): + pass + def respond(self, status, type=None, filename=None, length=0): if self._start_response is not None: