1
0
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:
Ilya Kreymer 2018-04-02 17:58:23 -07:00
parent d732cdd01f
commit c71611e6b7
2 changed files with 25 additions and 1 deletions

View File

@ -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)

View File

@ -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'