comparison mercurial/hgweb/request.py @ 18350:c0d63e1884a3

hgweb: remove handling of any else than strings from request.write Iterators should be returned WSGI style, not written. And apparently all of hgweb do that.
author Mads Kiilerich <mads@kiilerich.com>
date Tue, 15 Jan 2013 01:05:12 +0100
parents 764a758780b6
children 3fbdbeab38cc
comparison
equal deleted inserted replaced
18349:c007e5c54b16 18350:c0d63e1884a3
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 if util.safehasattr(thing, "__iter__"): 108 try:
109 for part in thing: 109 self.server_write(thing)
110 self.write(part) 110 except socket.error, inst:
111 else: 111 if inst[0] != errno.ECONNRESET:
112 thing = str(thing) 112 raise
113 try:
114 self.server_write(thing)
115 except socket.error, inst:
116 if inst[0] != errno.ECONNRESET:
117 raise
118 113
119 def writelines(self, lines): 114 def writelines(self, lines):
120 for line in lines: 115 for line in lines:
121 self.write(line) 116 self.write(line)
122 117