From 5e0dddffce6977d26cad003b8a8076bd43a5f8fe Mon Sep 17 00:00:00 2001 From: mdipierro Date: Mon, 25 Jun 2012 14:21:18 -0500 Subject: [PATCH] fixed quote in url rewrite, thanks Michael --- VERSION | 2 +- gluon/rewrite.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index 514d9bc3..5b548304 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.00.0 (2012-06-25 14:18:18) dev +Version 2.00.0 (2012-06-25 14:21:16) dev diff --git a/gluon/rewrite.py b/gluon/rewrite.py index 39201a62..dda710c8 100644 --- a/gluon/rewrite.py +++ b/gluon/rewrite.py @@ -179,7 +179,7 @@ def try_rewrite_on_error(http_response, request, environ, ticket=None): path_info, query_string = uri, '' query_string += \ 'code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \ - (status,ticket,request.env.request_uri,request.url) + (status,ticket,urllib.quote_plus(request.env.request_uri),request.url) if uri.startswith('http://') or uri.startswith('https://'): # make up a response url = path_info+'?'+query_string @@ -214,10 +214,14 @@ def try_redirect_on_error(http_object, request, ticket=None): break elif '?' in redir: url = '%s&code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \ - (redir,status,ticket,request.env.request_uri,request.url) + (redir,status,ticket, + urllib.quote_plus(request.env.request_uri), + request.url) else: url = '%s?code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \ - (redir,status,ticket,request.env.request_uri,request.url) + (redir,status,ticket, + urllib.quote_plus(request.env.request_uri), + request.url) return HTTP(303, 'You are being redirected here' % url, Location=url)