diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-04-22 00:21:13 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-04-22 00:21:13 +0200 |
commit | 8d28bef1dc52d1488d5a3cfded02d19aa2fe11fe (patch) | |
tree | ca84504877095fbe7b19537469d3c80522150d5d /paste | |
parent | b38b4b27954b0f13e36c39650d66a7287a1ed039 (diff) | |
download | paste-8d28bef1dc52d1488d5a3cfded02d19aa2fe11fe.tar.gz |
Port test_errordocument on Python 3
On Python 3, encode body to UTF-8
Diffstat (limited to 'paste')
-rw-r--r-- | paste/errordocument.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/paste/errordocument.py b/paste/errordocument.py index 62224b3..b5f34fe 100644 --- a/paste/errordocument.py +++ b/paste/errordocument.py @@ -15,6 +15,7 @@ from six.moves.urllib import parse as urlparse from paste.recursive import ForwardRequestException, RecursiveMiddleware, RecursionLoop from paste.util import converters from paste.response import replace_header +import six def forward(app, codes): """ @@ -85,10 +86,16 @@ class StatusKeeper(object): try: return self.app(environ, keep_status_start_response) except RecursionLoop as e: - environ['wsgi.errors'].write('Recursion error getting error page: %s\n' % e) + line = 'Recursion error getting error page: %s\n' % e + if six.PY3: + line = line.encode('utf8') + environ['wsgi.errors'].write(line) keep_status_start_response('500 Server Error', [('Content-type', 'text/plain')], sys.exc_info()) - return ['Error: %s. (Error page could not be fetched)' - % self.status] + body = ('Error: %s. (Error page could not be fetched)' + % self.status) + if six.PY3: + body = body.encode('utf8') + return [body] class StatusBasedForward(object): |