comparison mercurial/hgweb/common.py @ 13444:75f5f312df5f stable

hgweb: give ErrorResponse a descriptive string/Exception representation Very handy if the exception should appear in output.
author Mads Kiilerich <mads@kiilerich.com>
date Mon, 21 Feb 2011 00:52:26 +0100
parents 14f3795a5ed7
children 617a87cb7eb2 71f51cc71652
comparison
equal deleted inserted replaced
13443:8fa83d7159eb 13444:75f5f312df5f
69 permhooks.append(checkauthz) 69 permhooks.append(checkauthz)
70 70
71 71
72 class ErrorResponse(Exception): 72 class ErrorResponse(Exception):
73 def __init__(self, code, message=None, headers=[]): 73 def __init__(self, code, message=None, headers=[]):
74 Exception.__init__(self) 74 if message is None:
75 message = _statusmessage(code)
76 Exception.__init__(self, code, message)
75 self.code = code 77 self.code = code
78 self.message = message
76 self.headers = headers 79 self.headers = headers
77 if message is not None:
78 self.message = message
79 else:
80 self.message = _statusmessage(code)
81 80
82 def _statusmessage(code): 81 def _statusmessage(code):
83 from BaseHTTPServer import BaseHTTPRequestHandler 82 from BaseHTTPServer import BaseHTTPRequestHandler
84 responses = BaseHTTPRequestHandler.responses 83 responses = BaseHTTPRequestHandler.responses
85 return responses.get(code, ('Error', 'Unknown error'))[0] 84 return responses.get(code, ('Error', 'Unknown error'))[0]