Commits

Robert Brewer committed a0642c4

Added an HTTPError.get_error_page for easier overriding.

  • Participants
  • Parent commits 48c6952

Comments (0)

Files changed (1)

cherrypy/_cperror.py

 from urlparse import urljoin as _urljoin
 from cherrypy.lib import http as _http
 
+
 class CherryPyException(Exception):
     pass
 
 
+class TimeoutError(CherryPyException):
+    """Exception raised when Response.timed_out is detected."""
+    pass
+
+
 class InternalRedirect(CherryPyException):
     """Exception raised to switch to the handler for a different URL.
     
         tb = None
         if cherrypy.request.show_tracebacks:
             tb = format_exc()
-        content = get_error_page(self.status, traceback=tb,
-                                 message=self.message)
+        respheaders['Content-Type'] = "text/html"
+        
+        content = self.get_error_page(self.status, traceback=tb,
+                                      message=self.message)
         response.body = content
         respheaders['Content-Length'] = len(content)
-        respheaders['Content-Type'] = "text/html"
         
         _be_ie_unfriendly(self.status)
     
+    def get_error_page(self, *args, **kwargs):
+        return get_error_page(*args, **kwargs)
+    
     def __call__(self):
         """Use this exception as a request.handler (raise self)."""
         raise self
         HTTPError.__init__(self, 404, "The path %r was not found." % path)
 
 
-class TimeoutError(CherryPyException):
-    """Exception raised when Response.timed_out is detected."""
-    pass
-
-
 _HTTPErrorTemplate = '''<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html>