view lib/cycloneerr.py @ 909:c80a23d86ea9

rev2 pin names Ignore-this: 6bd747872c316e79b851e9cb47d4d1ab darcs-hash:20130831230948-312f9-2b6d59abc2b1b6193cfd00ef574c6030224852c8
author drewp <drewp@bigasterisk.com>
date Sat, 31 Aug 2013 16:09:48 -0700
parents bebb8f7c5a3e
children 053fd552b675
line wrap: on
line source

import httplib, cgi

class PrettyErrorHandler(object):
    """
    mix-in to improve cyclone.web.RequestHandler
    """
    def get_error_html(self, status_code, **kwargs):
        try:
            tb = kwargs['exception'].getTraceback()
        except AttributeError:
            tb = ""
        return "<html><title>%(code)d: %(message)s</title>" \
               "<body>%(code)d: %(message)s<pre>%(tb)s</pre></body></html>" % {
            "code": status_code,
            "message": httplib.responses[status_code],
            "tb" : cgi.escape(tb),
        }