diff lib/cycloneerr/cycloneerr.py @ 512:11e090ba2731

make cycloneerr release Ignore-this: 85a8e1a3e04a38167d3c41ebb4a88483
author drewp@bigasterisk.com
date Mon, 22 Apr 2019 23:21:45 -0700
parents lib/cycloneerr.py@a63549a50b3f
children 71e8ab109f5a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/cycloneerr/cycloneerr.py	Mon Apr 22 23:21:45 2019 -0700
@@ -0,0 +1,21 @@
+try:
+    import http.client as httplib
+except ImportError:
+    import httplib  # type: ignore
+import 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),
+        }