diff --git a/pywb/rewrite/cookie_rewriter.py b/pywb/rewrite/cookie_rewriter.py index 78e3c9c6..26786245 100644 --- a/pywb/rewrite/cookie_rewriter.py +++ b/pywb/rewrite/cookie_rewriter.py @@ -30,6 +30,10 @@ class WbUrlCookieRewriter(object): if morsel.get('expires'): del morsel['expires'] + # don't use max-age, just expire at end of session + if morsel.get('max-age'): + del morsel['max-age'] + results.append((header, morsel.OutputString())) return results diff --git a/pywb/rewrite/test/test_cookie_rewriter.py b/pywb/rewrite/test/test_cookie_rewriter.py index e5979fd4..f15a9450 100644 --- a/pywb/rewrite/test/test_cookie_rewriter.py +++ b/pywb/rewrite/test/test_cookie_rewriter.py @@ -6,11 +6,14 @@ r""" >>> rewrite_cookie('some=value; Path=/;') [('Set-Cookie', 'some=value; Path=/pywb/20131226101010/http://example.com/')] +>>> rewrite_cookie('some=value; Path=../;', rewriter=urlrewriter2) +[('Set-Cookie', 'some=value; Path=/preview/em_/http://example.com/')] + >>> rewrite_cookie('some=value; Path=/diff/path/;') [('Set-Cookie', 'some=value; Path=/pywb/20131226101010/http://example.com/diff/path/')] # if domain set, set path to root ->>> rewrite_cookie('some=value; Domain=.example.com; Path=/diff/path/;') +>>> rewrite_cookie('some=value; Domain=.example.com; Path=/diff/path/; Max-Age=1500') [('Set-Cookie', 'some=value; Path=/pywb/')] >>> rewrite_cookie('abc=def; Path=file.html; Expires=Wed, 13 Jan 2021 22:23:01 GMT') @@ -28,6 +31,9 @@ from pywb.rewrite.url_rewriter import UrlRewriter urlrewriter = UrlRewriter('20131226101010/http://example.com/some/path/index.html', '/pywb/') -def rewrite_cookie(cookie_str): - return WbUrlCookieRewriter(urlrewriter).rewrite(cookie_str) +urlrewriter2 = UrlRewriter('em_/http://example.com/', '/preview/') + + +def rewrite_cookie(cookie_str, rewriter=urlrewriter): + return WbUrlCookieRewriter(rewriter).rewrite(cookie_str)