diff --git a/cookiejar.js b/cookiejar.js index ed1e02e..2afe2e7 100644 --- a/cookiejar.js +++ b/cookiejar.js @@ -12,6 +12,7 @@ } return new CookieAccessInfo(domain, path, secure, script); } + CookieAccessInfo.All = Object.freeze(Object.create(null)); exports.CookieAccessInfo = CookieAccessInfo; function Cookie(cookiestr, request_domain, request_path) { @@ -118,6 +119,9 @@ }; Cookie.prototype.matches = function matches(access_info) { + if (access_info === CookieAccessInfo.All) { + return true; + } if (this.noscript && access_info.script || this.secure && !access_info.secure || !this.collidesWith(access_info)) { diff --git a/tests/test.js b/tests/test.js index 80e70f1..dfa19fc 100755 --- a/tests/test.js +++ b/tests/test.js @@ -80,3 +80,8 @@ assert.equal(cookie.path, "/accounts"); test_jar.setCookie(new Cookie("sub=5;path=/", "test.com", "/accounts")); var cookies = test_jar.getCookies(CookieAccessInfo("test.com")); assert.equal(cookies.length, 3); + +test_jar.setCookie(new Cookie("sub=5;path=/", "test.com", "/accounts")); +var cookie = test_jar.getCookie('sub', CookieAccessInfo.All); +assert(cookie); +assert.equal(cookie.name, 'sub');