Skip to content

srph/cookie-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cookie-machine npm version Build Status

A universal cookie library.

Installing

npm i cookie-machine -S

Although tests are running on node >=4.0 (because of jsdom), the library should support node >=0.12.

Currently, only CommonJS is supported. Please submit an issue if you'd like any other module to be supported. Although, browser builds have low chances of being supported because it doesn't make any sense.

Usage

// server-side / node
var cookie = require('cookie-machine');

http.createServer(function(req, res) {
  cookie.init(res);
  cookie.set('yolo', 'swag');
});

// browser
var cookie = require('cookie-machine');
// notice that we no longer have to call `init` here.
// init is only required for the server-side.
cookie.set('yolo', 'swag');

Check out more examples.

API

Here are some of the methods exposed by the library:

init(object res): void

  • res - An object which is expected to be node's native response.

Initializes cookie to be ready for node. In the client, this is a noop.

get(string key): any

  • key - The key of the cookie to be get. Returns the value of the key in the cookie.

set(string key, any value [, object options]): void

  • key - The key of the cookie to be stored.
  • value - The value of the cookie to be stored.
  • options - (optional, defaults to { expires: new Date(0) }) Cookie options such as expired, domain, path, and etc.

Set a value in the cookie.

remove(string key [, object options]): void

  • key - Key in the cookie to be removed.
  • options - (optional, defaults to { expires: new Date(0) }) Cookie options such as expired, domain, path, and etc.

Remove a key in the cookie.

License

MIT

This project was motivated by cookie-dough.