comparison mercurial/hgweb/request.py @ 18351:3fbdbeab38cc

hgweb: don't pass empty response chunks on hgweb internals will often produce empty writes - especially when returning compressed data. hgweb is no middleware application and there is thus no reason to pass them on to be processed in other layers.
author Mads Kiilerich <mads@kiilerich.com>
date Tue, 15 Jan 2013 01:05:12 +0100
parents c0d63e1884a3
children e33b9b92a200
comparison
equal deleted inserted replaced
18350:c0d63e1884a3 18351:3fbdbeab38cc
103 self.server_write = self._start_response(status, self.headers) 103 self.server_write = self._start_response(status, self.headers)
104 self._start_response = None 104 self._start_response = None
105 self.headers = [] 105 self.headers = []
106 106
107 def write(self, thing): 107 def write(self, thing):
108 try: 108 if thing:
109 self.server_write(thing) 109 try:
110 except socket.error, inst: 110 self.server_write(thing)
111 if inst[0] != errno.ECONNRESET: 111 except socket.error, inst:
112 raise 112 if inst[0] != errno.ECONNRESET:
113 raise
113 114
114 def writelines(self, lines): 115 def writelines(self, lines):
115 for line in lines: 116 for line in lines:
116 self.write(line) 117 self.write(line)
117 118