From 8fc789cc8f52c822d9438d8f5c740019b2ffdbe6 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Thu, 25 Feb 2016 18:25:53 -0800 Subject: [PATCH] rewrite: leave out charset in top-frame and don't modify it in replay frame to allow browser to detect best charset, as it would on original page if it is absent) see #170 for details --- pywb/rewrite/rewrite_content.py | 5 +++-- pywb/rewrite/test/test_rewrite_live.py | 2 +- pywb/webapp/handlers.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pywb/rewrite/rewrite_content.py b/pywb/rewrite/rewrite_content.py index 990e6a3c..7cad62b1 100644 --- a/pywb/rewrite/rewrite_content.py +++ b/pywb/rewrite/rewrite_content.py @@ -237,8 +237,9 @@ class RewriteContent: m = RewriteContent.CHARSET_REGEX.search(buff) if m: charset = m.group(1) - content_type = 'text/html; charset=' + charset - status_headers.replace_header('content-type', content_type) + # content_type = 'text/html; charset=' + charset + # status_headers.replace_header('content-type', content_type) + return charset @staticmethod diff --git a/pywb/rewrite/test/test_rewrite_live.py b/pywb/rewrite/test/test_rewrite_live.py index 9af1e157..0fd2506e 100644 --- a/pywb/rewrite/test/test_rewrite_live.py +++ b/pywb/rewrite/test/test_rewrite_live.py @@ -207,7 +207,7 @@ def test_example_1(): # verify utf-8 charset detection - assert status_headers.get_header('content-type') == 'text/html; charset=utf-8' + assert status_headers.get_header('content-type') == 'text/html' assert '/pywb/20131226101010/http://www.iana.org/domains/example' in buff, buff diff --git a/pywb/webapp/handlers.py b/pywb/webapp/handlers.py index 2678a78b..b1f6d87b 100644 --- a/pywb/webapp/handlers.py +++ b/pywb/webapp/handlers.py @@ -107,7 +107,7 @@ class SearchPageWbUrlHandler(WbUrlHandler): def get_top_frame_response(self, wbrequest): params = self.get_top_frame_params(wbrequest, mod=self.replay_mod) - headers = [('Content-Type', 'text/html; charset=utf-8')] + headers = [('Content-Type', 'text/html')] status_headers = StatusAndHeaders('200 OK', headers) template_result = self.frame_insert_view.render_to_string(**params)