diff --git a/pywb/rewrite/rewrite_content.py b/pywb/rewrite/rewrite_content.py index 6d4ced33..4abb1bd0 100644 --- a/pywb/rewrite/rewrite_content.py +++ b/pywb/rewrite/rewrite_content.py @@ -54,7 +54,7 @@ class RewriteContent: def rewrite_content(self, urlrewriter, headers, stream, head_insert_func=None, urlkey='', - sanitize_only=False, cdx=None): + sanitize_only=False, cdx=None, mod=None): if sanitize_only: status_headers, stream = self.sanitize_content(headers, stream) @@ -75,6 +75,14 @@ class RewriteContent: # special case -- need to ungzip the body text_type = rewritten_headers.text_type + + # see known js/css modifier specified, the context should run + # default text_type + if mod == 'js_': + text_type = 'js' + elif mod == 'cs_': + text_type = 'css' + stream_raw = False encoding = None first_buff = None diff --git a/pywb/rewrite/rewrite_live.py b/pywb/rewrite/rewrite_live.py index 4d0951ef..25733b94 100644 --- a/pywb/rewrite/rewrite_live.py +++ b/pywb/rewrite/rewrite_live.py @@ -98,7 +98,8 @@ class LiveRewriter(object): req_headers={}, timestamp=None, follow_redirects=False, - proxies=None): + proxies=None, + mod=None): ts_err = url.split('///') @@ -135,7 +136,8 @@ class LiveRewriter(object): stream, head_insert_func=head_insert_func, urlkey=urlkey, - cdx=cdx)) + cdx=cdx, + mod=mod)) return result diff --git a/pywb/webapp/replay_views.py b/pywb/webapp/replay_views.py index 7c0f1d7f..af50046e 100644 --- a/pywb/webapp/replay_views.py +++ b/pywb/webapp/replay_views.py @@ -125,7 +125,8 @@ class ReplayView(object): head_insert_func=head_insert_func, urlkey=cdx['urlkey'], sanitize_only=wbrequest.wb_url.is_identity, - cdx=cdx)) + cdx=cdx, + mod=wbrequest.wb_url.mod)) (status_headers, response_iter, is_rewritten) = result