"TalkLines" : TalkLinesModule,
"TalkOngoingCalls" : TalkOngoingCallsModule,
},
+
+ # Call this when a page wasn't found
+ "default_handler_class" : NotFoundHandler,
}
settings.update(kwargs)
kwargs.update(_kwargs)
return tornado.web.RequestHandler.render_string(self, *args, **kwargs)
- def write_error(self, status_code, **kwargs):
- if status_code in (404, 500):
- render_args = ({
- "code" : status_code,
- "exception" : kwargs.get("exception", None),
- "message" : httplib.responses[status_code],
- })
- self.render("error-%s.html" % status_code, **render_args)
- else:
- return tornado.web.RequestHandler.write_error(self, status_code, **kwargs)
-
def get_remote_ip(self):
# Fix for clients behind a proxy that sends "X-Forwarded-For".
remote_ips = self.request.remote_ip.split(", ")
# Get back to the start page
self.redirect("/")
+
+
+class NotFoundHandler(BaseHandler):
+ def prepare(self):
+ # Raises 404 as soon as it is called
+ raise tornado.web.HTTPError(404)
+
+ def write_error(self, status_code, **kwargs):
+ assert status_code == 404
+
+ self.render("error-404.html")