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:
parent
f068186e37
commit
0b72bfe911
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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'})
|
||||
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user