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