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: