From c57710052ee179b5b59617696d815f03eacdf6c4 Mon Sep 17 00:00:00 2001 From: Andrew McLeod Date: Mon, 16 Sep 2019 23:11:01 +0100 Subject: [PATCH] fix (render.py): fix non-ascii characters in HTTP headers. HTTP headers need to be ascii or Gunicorn throws an exception. The error handler 'xmlcharrefreplace' is chosen for no particular reason. --- frappe/website/render.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/website/render.py b/frappe/website/render.py index 5d7d05ff53..7b8db59e4e 100644 --- a/frappe/website/render.py +++ b/frappe/website/render.py @@ -125,12 +125,12 @@ def build_response(path, data, http_status_code, headers=None): response = Response() response.data = set_content_type(response, data, path) response.status_code = http_status_code - response.headers["X-Page-Name"] = path.encode("utf-8") + response.headers["X-Page-Name"] = path.encode("ascii", errors="xmlcharrefreplace") response.headers["X-From-Cache"] = frappe.local.response.from_cache or False if headers: for key, val in iteritems(headers): - response.headers[key] = val.encode("utf-8") + response.headers[key] = val.encode("ascii", errors="xmlcharrefreplace") return response