mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-15 00:03:28 +01:00
cookie rewriter: don't rewrite cookies if not rewriting urls, eg. banner only or proxy mode
tests: update content rewriter tests to test for cookie rewriting
This commit is contained in:
parent
d732cdd01f
commit
c71611e6b7
@ -138,7 +138,7 @@ class DefaultHeaderRewriter(object):
|
||||
return (self.header_prefix + name, value)
|
||||
|
||||
elif rule == 'cookie':
|
||||
if self.rwinfo.cookie_rewriter:
|
||||
if self.rwinfo.cookie_rewriter and self.rwinfo.is_url_rw():
|
||||
return self.rwinfo.cookie_rewriter.rewrite(value)
|
||||
else:
|
||||
return (name, value)
|
||||
|
@ -143,6 +143,30 @@ class TestContentRewriter(object):
|
||||
exp = 'function() { WB_wombat_location.href = "http://example.com/"; }'
|
||||
assert b''.join(gen).decode('utf-8') == exp
|
||||
|
||||
def test_banner_only_no_cookie_rewrite(self):
|
||||
headers = {'Set-Cookie': 'foo=bar; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Path=/',
|
||||
'Content-Type': 'text/javascript'}
|
||||
|
||||
content = 'function() { location.href = "http://example.com/"; }'
|
||||
|
||||
headers, gen, is_rw = self.rewrite_record(headers, content, ts='201701bn_')
|
||||
|
||||
assert ('Content-Type', 'text/javascript') in headers.headers
|
||||
assert ('Set-Cookie', 'foo=bar; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Path=/') in headers.headers
|
||||
|
||||
exp = 'function() { location.href = "http://example.com/"; }'
|
||||
assert b''.join(gen).decode('utf-8') == exp
|
||||
|
||||
def test_rewrite_cookies_only_binary_no_content_type(self):
|
||||
headers = {'Set-Cookie': 'foo=bar; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Path=/'}
|
||||
content = '\x11\x12\x13\x14'
|
||||
headers, gen, is_rw = self.rewrite_record(headers, content, ts='201701mp_')
|
||||
|
||||
assert [('Set-Cookie', 'foo=bar; Path=/prefix/201701mp_/http://example.com/')] == headers.headers
|
||||
#assert ('Content-Type', 'application/octet-stream') not in headers.headers
|
||||
|
||||
assert is_rw == False
|
||||
|
||||
def test_binary_no_content_type(self):
|
||||
headers = {}
|
||||
content = '\x11\x12\x13\x14'
|
||||
|
Loading…
x
Reference in New Issue
Block a user