[FIX] http_routing: Convert Bytes to String before concatenation

This commit is contained in:
Yannick Tivisse
2017-09-22 13:34:43 +02:00
parent 17206d4016
commit b2aaba4b3d
+3 -3
View File
@@ -318,7 +318,7 @@ class IrHttp(models.AbstractModel):
# locate the controller method
try:
if request.httprequest.method == 'GET' and '//' in request.httprequest.path:
new_url = request.httprequest.path.replace('//', '/') + '?' + request.httprequest.query_string
new_url = request.httprequest.path.replace('//', '/') + '?' + request.httprequest.query_string.decode('utf-8')
return werkzeug.utils.redirect(new_url, 301)
rule, arguments = cls._find_handler(return_rule=True)
func = rule.endpoint
@@ -373,7 +373,7 @@ class IrHttp(models.AbstractModel):
path.insert(1, request.lang)
path = '/'.join(path) or '/'
routing_error = None
redirect = request.redirect(path + '?' + request.httprequest.query_string)
redirect = request.redirect(path + '?' + request.httprequest.query_string.decode('utf-8'))
redirect.set_cookie('frontend_lang', request.lang)
return redirect
elif url_lang:
@@ -432,5 +432,5 @@ class IrHttp(models.AbstractModel):
if request.lang != cls._get_default_lang().code:
path = '/' + request.lang + path
if request.httprequest.query_string:
path += '?' + request.httprequest.query_string
path += '?' + request.httprequest.query_string.decode('utf-8')
return werkzeug.utils.redirect(path, code=301)