cookie-interceptor
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

cookie-interceptor

npm version

A simple JavaScript utility library for intercepting browser cookies

Live demo available at here.

Installation

$ npm install cookie-interceptor

The CDN build is also available on unpkg:

Usage

import CookieInterceptor from 'cookie-interceptor';
 
CookieInterceptor.init(); // Hijack the `document.cookie` object
 
CookieInterceptor.read.use(function (cookie) {
  console.log('logger: ', cookie);
  return cookie;
});
 
CookieInterceptor.disableRead().disableWrite();
 
document.cookie = 'date=20180915';
console.log(document.cookie); // => ''
 
CookieInterceptor.enableRead().enableWrite();
 
document.cookie = 'name=john';
console.log(document.cookie); // => 'name=john'

API

Interceptors

You can intercept document.cookie before it is read or written.

CookieInterceptor.read.use(function (cookie) {
  console.log(cookie);
  return cookie;
});
 
CookieInterceptor.write.use(function (val) {
  console.log(val);
  return val;
});

Access Control

  • read.enabled / readEnabled: Check if the cookie is readable.
  • read.enable() / enableRead(): Enable READ flag. You can read all cookies with document.cookie property.
  • read.disable() / disableRead(): Disable READ flag. document.cookie will return an empty string.
  • write.enabled / writeEnabled: Check if the cookie is writable.
  • write.enable() / enableWrite(): Enable WRITE flag. You can write a new cookie or update an existing cookie.
  • write.disable() / disableWrite(): Disable WRITE flag. document.cookie="key=value" will not write a new cookie or update an existing cookie.

Browsers support

IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Opera
Opera
IE9, IE10, IE11, Edge last 2 versions last 2 versions last 2 versions last 2 versions

License

MIT

References

Readme

Keywords

Package Sidebar

Install

npm i cookie-interceptor

Weekly Downloads

420

Version

1.0.0

License

MIT

Unpacked Size

34.1 kB

Total Files

9

Last publish

Collaborators

  • dearke