1cordova.define("cordova-plugin-advanced-http.cookie-handler", function(require, exports, module) { module.exports = function init(storage, ToughCookie, WebStorageCookieStore) { 2 var storeKey = '__advancedHttpCookieStore__'; 3 4 var store = new WebStorageCookieStore(storage, storeKey); 5 var cookieJar = new ToughCookie.CookieJar(store); 6 7 return { 8 setCookieFromString: setCookieFromString, 9 setCookie: setCookie, 10 getCookieString: getCookieString, 11 clearCookies: clearCookies, 12 removeCookies: removeCookies 13 }; 14 15 function splitCookieString(cookieStr) { 16 var cookieParts = cookieStr.split(','); 17 var splitCookies = []; 18 var processedCookie = null; 19 20 for (var i = 0; i < cookieParts.length; ++i) { 21 if (cookieParts[i].substr(-11, 8).toLowerCase() === 'expires=') { 22 processedCookie = cookieParts[i] + ',' + cookieParts[i + 1]; 23 i++; 24 } else { 25 processedCookie = cookieParts[i]; 26 } 27 28 processedCookie = processedCookie.trim(); 29 splitCookies.push(processedCookie); 30 } 31 32 return splitCookies; 33 } 34 35 function setCookieFromString(url, cookieStr) { 36 if (!cookieStr) return; 37 38 var cookies = splitCookieString(cookieStr); 39 40 for (var i = 0; i < cookies.length; ++i) { 41 cookieJar.setCookieSync(cookies[i], url, { ignoreError: true }); 42 } 43 } 44 45 function setCookie(url, cookie, options) { 46 options = options || {}; 47 options.ignoreError = false; 48 cookieJar.setCookieSync(cookie, url, options); 49 } 50 51 function getCookieString(url) { 52 return cookieJar.getCookieStringSync(url); 53 } 54 55 function clearCookies() { 56 window.localStorage.removeItem(storeKey); 57 } 58 59 function removeCookies(url, cb) { 60 cookieJar.getCookies(url, function (error, cookies) { 61 if (!cookies || cookies.length === 0) { 62 return cb(null, []); 63 } 64 65 var domain = cookies[0].domain; 66 67 cookieJar.store.removeCookies(domain, null, cb); 68 }); 69 } 70}; 71 72});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.