Mercurial > public > mercurial-scm > hg-stable
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 |