set error handler debug from run debug arg

This commit is contained in:
Raphael Deem
2017-01-24 17:18:58 -08:00
parent 049a5a7493
commit 28f7abd1f8
3 changed files with 26 additions and 7 deletions

View File

@@ -140,9 +140,9 @@ class PayloadTooLarge(SanicException):
class Handler:
handlers = None
def __init__(self, sanic):
def __init__(self):
self.handlers = {}
self.sanic = sanic
self.debug = False
def _render_traceback_html(self, exception, request):
exc_type, exc_value, tb = sys.exc_info()
@@ -175,7 +175,7 @@ class Handler:
response = handler(request=request, exception=exception)
except:
log.error(format_exc())
if self.sanic.debug:
if self.debug:
response_message = (
'Exception raised in exception handler "{}" '
'for uri: "{}"\n{}').format(
@@ -192,7 +192,7 @@ class Handler:
return text(
'Error: {}'.format(exception),
status=getattr(exception, 'status_code', 500))
elif self.sanic.debug:
elif self.debug:
html_output = self._render_traceback_html(exception, request)
response_message = (

View File

@@ -36,7 +36,7 @@ class Sanic:
name = getmodulename(frame_records[1])
self.name = name
self.router = router or Router()
self.error_handler = error_handler or Handler(self)
self.error_handler = error_handler or Handler()
self.config = Config()
self.request_middleware = deque()
self.response_middleware = deque()
@@ -300,7 +300,7 @@ class Sanic:
:param protocol: Subclass of asyncio protocol class
:return: Nothing
"""
self.error_handler.debug = True
self.error_handler.debug = debug
self.debug = debug
self.loop = loop