Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb/request.py @ 5563:d61fea133f2d
hgweb: fix breaking tests on Python < 2.5
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Wed, 28 Nov 2007 09:39:17 -0800 |
parents | 22713dce19f6 |
children | d74fc8dec2b4 |
comparison
equal
deleted
inserted
replaced
5562:72cb6bde5355 | 5563:d61fea133f2d |
---|---|
6 # This software may be used and distributed according to the terms | 6 # This software may be used and distributed according to the terms |
7 # of the GNU General Public License, incorporated herein by reference. | 7 # of the GNU General Public License, incorporated herein by reference. |
8 | 8 |
9 import socket, cgi, errno | 9 import socket, cgi, errno |
10 from mercurial.i18n import gettext as _ | 10 from mercurial.i18n import gettext as _ |
11 from common import ErrorResponse | 11 from common import ErrorResponse, statusmessage |
12 | 12 |
13 class wsgiapplication(object): | 13 class wsgiapplication(object): |
14 def __init__(self, destmaker): | 14 def __init__(self, destmaker): |
15 self.destmaker = destmaker | 15 self.destmaker = destmaker |
16 | 16 |
51 else: | 51 else: |
52 thing = str(thing) | 52 thing = str(thing) |
53 if self.server_write is None: | 53 if self.server_write is None: |
54 if not self.headers: | 54 if not self.headers: |
55 raise RuntimeError("request.write called before headers sent (%s)." % thing) | 55 raise RuntimeError("request.write called before headers sent (%s)." % thing) |
56 code = None | |
57 if isinstance(status, ErrorResponse): | 56 if isinstance(status, ErrorResponse): |
58 code = status.code | 57 status = statusmessage(status.code) |
59 elif isinstance(status, int): | 58 elif isinstance(status, int): |
60 code = status | 59 status = statusmessage(status) |
61 if code: | |
62 from httplib import responses | |
63 status = '%d %s' % ( | |
64 code, responses.get(code, 'Error')) | |
65 self.server_write = self.start_response(status, | 60 self.server_write = self.start_response(status, |
66 self.headers) | 61 self.headers) |
67 self.start_response = None | 62 self.start_response = None |
68 self.headers = [] | 63 self.headers = [] |
69 try: | 64 try: |