mercurial/hgweb/request.py
changeset 7180 a42d27bc809d
parent 6774 0dbb56e90a71
child 7741 a3d7f99c23c0
--- 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: