1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

add 'none' js regex rewriter, which does not rewrite urls or location regexs

add test for none rewriter in test rule
This commit is contained in:
Ilya Kreymer 2015-02-11 15:01:29 -08:00
parent f068186e37
commit 0b72bfe911
4 changed files with 29 additions and 1 deletions

View File

@ -165,6 +165,12 @@ class JSLinkAndLocationRewriter(JSLocationRewriterMixin,
pass
#=================================================================
class JSNoneRewriter(RegexRewriter):
def __init__(self, rewriter, rules=[]):
super(JSNoneRewriter, self).__init__(rewriter, rules)
#=================================================================
# Set 'default' JSRewriter
JSRewriter = JSLinkAndLocationRewriter

View File

@ -2,7 +2,7 @@ from pywb.utils.dsrules import BaseRule
from regex_rewriters import RegexRewriter, CSSRewriter, XMLRewriter
from regex_rewriters import JSLinkAndLocationRewriter, JSLinkOnlyRewriter
from regex_rewriters import JSLocationOnlyRewriter
from regex_rewriters import JSLocationOnlyRewriter, JSNoneRewriter
from header_rewriter import HeaderRewriter
from html_rewriter import HTMLRewriter
@ -36,6 +36,8 @@ class RewriteRules(BaseRule):
js_default_class = JSLinkAndLocationRewriter
elif self.js_rewrite_location == 'location':
js_default_class = JSLocationOnlyRewriter
elif self.js_rewrite_location == 'none':
js_default_class = JSNoneRewriter
else:
js_default_class = JSLinkOnlyRewriter

View File

@ -159,6 +159,21 @@ def test_local_2_js_loc_only_rewrite():
# still link rewrite in HTML
assert '"/pywb/20131226101010/http://example.com/some/path/another.html"' in buff
def test_local_2_no_rewrite():
status_headers, buff = get_rewritten(get_test_dir() + 'text_content/sample.html',
urlrewriter,
head_insert_func,
'example,example,test,norewrite)/')
# wombat insert added
assert '<script src="/static/default/wombat.js"> </script>' in buff
# JS location NOT rewritten, JS link NOT rewritten
assert 'window.location = "http:\/\/example.com/dynamic_page.html"' in buff
# still link rewrite in HTML
assert '"/pywb/20131226101010/http://example.com/some/path/another.html"' in buff
def test_example_1():
status_headers, buff = get_rewritten('http://example.com/', urlrewriter, req_headers={'Connection': 'close'})

View File

@ -231,6 +231,11 @@ rules:
rewrite:
js_rewrite_location: location
- url_prefix: 'example,example,test,norewrite)/'
rewrite:
js_rewrite_location: none
- url_prefix: 'example,example,test)/'
canonicalize: