def document(self):
"""Render the error document"""
original_request = request.environ.get('pylons.original_request')
original_response = request.environ.get('pylons.original_response')
# When a request (e.g. from a web-bot) is direct, not a redirect
# from a page. #1176
if not original_response:
return 'There is no error.'
# Bypass error template for API operations.
if (original_request and
(original_request.path.startswith('/api') or
original_request.path.startswith('/fanstatic'))):
return original_response.body
# If the charset has been lost on the middleware stack, use the
# default one (utf-8)
if not original_response.charset and original_response.default_charset:
original_response.charset = original_response.default_charset
# Otherwise, decorate original response with error template.
c.content = literal(original_response.unicode_body) or \
cgi.escape(request.GET.get('message', ''))
c.prefix = request.environ.get('SCRIPT_NAME', ''),
c.code = cgi.escape(request.GET.get('code',
str(original_response.status_int))),
return render('error_document_template.html')
评论列表
文章目录