Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

cookie-handler.js 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. cordova.define("cordova-plugin-advanced-http.cookie-handler", function(require, exports, module) {
  2. module.exports = function init(storage, ToughCookie, WebStorageCookieStore) {
  3. var storeKey = '__advancedHttpCookieStore__';
  4. var store = new WebStorageCookieStore(storage, storeKey);
  5. var cookieJar = new ToughCookie.CookieJar(store);
  6. return {
  7. setCookieFromString: setCookieFromString,
  8. setCookie: setCookie,
  9. getCookieString: getCookieString,
  10. clearCookies: clearCookies,
  11. removeCookies: removeCookies
  12. };
  13. function splitCookieString(cookieStr) {
  14. var cookieParts = cookieStr.split(',');
  15. var splitCookies = [];
  16. var processedCookie = null;
  17. for (var i = 0; i < cookieParts.length; ++i) {
  18. if (cookieParts[i].substr(-11, 8).toLowerCase() === 'expires=') {
  19. processedCookie = cookieParts[i] + ',' + cookieParts[i + 1];
  20. i++;
  21. } else {
  22. processedCookie = cookieParts[i];
  23. }
  24. processedCookie = processedCookie.trim();
  25. splitCookies.push(processedCookie);
  26. }
  27. return splitCookies;
  28. }
  29. function setCookieFromString(url, cookieStr) {
  30. if (!cookieStr) return;
  31. var cookies = splitCookieString(cookieStr);
  32. for (var i = 0; i < cookies.length; ++i) {
  33. cookieJar.setCookieSync(cookies[i], url, { ignoreError: true });
  34. }
  35. }
  36. function setCookie(url, cookie, options) {
  37. options = options || {};
  38. options.ignoreError = false;
  39. cookieJar.setCookieSync(cookie, url, options);
  40. }
  41. function getCookieString(url) {
  42. return cookieJar.getCookieStringSync(url);
  43. }
  44. function clearCookies() {
  45. window.localStorage.removeItem(storeKey);
  46. }
  47. function removeCookies(url, cb) {
  48. cookieJar.getCookies(url, function (error, cookies) {
  49. if (!cookies || cookies.length === 0) {
  50. return cb(null, []);
  51. }
  52. var domain = cookies[0].domain;
  53. cookieJar.store.removeCookies(domain, null, cb);
  54. });
  55. }
  56. };
  57. });