diff options
| author | Victor Stinner <victor.stinner@gmail.com> | 2015-04-22 02:33:32 +0200 |
|---|---|---|
| committer | Victor Stinner <victor.stinner@gmail.com> | 2015-04-22 02:33:32 +0200 |
| commit | 3026086c19b45382d5ceca778a5458233b485ce9 (patch) | |
| tree | a58fb49cd65f9b7ff24029aeb4dfaccd657128dd /paste/errordocument.py | |
| parent | 3e25cb1adbf0dce96f49a270d07028550b15e33c (diff) | |
| parent | b9ceb0a57e2c48f95e94693da5f3f4b86fbc3bff (diff) | |
| download | paste-3026086c19b45382d5ceca778a5458233b485ce9.tar.gz | |
Merged in mfrobben/paste (pull request #21)
Fix bad reference to iterator variable
Diffstat (limited to 'paste/errordocument.py')
| -rw-r--r-- | paste/errordocument.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/paste/errordocument.py b/paste/errordocument.py index 62224b3..34f2d4a 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): @@ -161,7 +168,6 @@ class StatusBasedForward(object): def __call__(self, environ, start_response): url = [] - writer = [] def change_response(status, headers, exc_info=None): status_code = status.split(' ') @@ -363,7 +369,7 @@ class _StatusBasedRedirect(object): forward.start_response = eat_start_response try: app_iter = forward(url_, new_environ) - except InvalidForward as e: + except InvalidForward: code, message = code_message[0] environ['wsgi.errors'].write( 'Error occurred in ' |
