@advanced-rest-client/cookie-parserdeprecated

A javascript cookie parser for javascript HTTP clients.

Usage no npm install needed!

<script type="module">
  import advancedRestClientCookieParser from 'https://cdn.skypack.dev/@advanced-rest-client/cookie-parser';
</script>

README

Published on NPM

Build Status

cookie-parser

A JavaScript cookie parser for HTTP clients. Works in the browser as ES6 module or in NodeJS.

import { Cookies } from '@advanced-rest-client/cookie-parser';
const parser = new Cookies('rememberme=1; domain=foo.com; path=/; ssid=Hy1t5e#oj21.876aak;', 'http://bar.com/');
console.log(parser.cookies);

In Node:

const {Cookies} = require('@advanced-rest-client/cookie-parser');
const parser = new Cookies('rememberme=1; domain=foo.com; path=/; ssid=Hy1t5e#oj21.876aak;', 'http://bar.com/');
console.log(parser.cookies);

Usage

Installation

npm install --save @advanced-rest-client/cookie-parser

Parsing cookie header

It parses set-cookie header received from the server and produces a Cookie object.

import { Cookies } from '@advanced-rest-client/cookie-parser';
const parser = new Cookies('rememberme=1; domain=foo.com; path=/; ssid=Hy1t5e#oj21.876aak;', 'http://bar.com/');
console.log(parser.cookies);

which is equivalent to:

const cookies = Cookies.parse('...');

Manipulating cookies

The filter function filters out cookies that should not be considered for given URL. This is defined in https://tools.ietf.org/html/rfc6265.

const instance = new Cookies('a=b; domain=foo.com; path=/;', 'http://sub.foo.com/');
const removed = instance.filter();
console.log(removed); // has the cookies because domain does not match

To clear expired cookies just call clearExpired() function.

const instance = new Cookies('a=b; expires=0;', 'http://sub.foo.com/');
// wait a second here, then
const removed = instance.filter();
console.log(removed); // the cookie expired

Development

git clone https://github.com/advanced-rest-client/cookie-parser
cd cookie-parser
npm install

Running the demo locally

npm start

Running the tests

npm test