0.1.0 • Published 8 years ago

http-client-cookie-jar v0.1.0

Weekly downloads
36
License
MIT
Repository
github
Last release
8 years ago

http-client-cookie-jar Travis npm package

http-client-cookie-jar is an http-client middleware that automatically saves cookies as responses are received and sends them back to the appropriate origins as requests are made.

This package is backed by the excellent tough-cookie library. This means that it has robust cookie handling, but is not yet available for use in browser builds.

Installation

Using npm:

$ npm install --save http-client tough-cookie http-client-cookie-jar

http-client requires you to bring your own global fetch function. isomorphic-fetch is a great polyfill.

Then, use as you would anything else:

// using ES6 modules
import { cookieJar } from 'http-client-cookie-jar'

// using CommonJS modules
var cookieJar = require('http-client-cookie-jar').cookieJar

Usage

http-client-cookie-jar is mostly useful when building web scrapers. To use it, you'll need to first instantiate a CookieJar and pass it to the middleware. The middleware uses this cookie jar to store all cookies it receives and automatically append them to outgoing requests.

import { createFetch } from 'http-client'
import { cookieJar } from 'http-client-cookie-jar'
import { CookieJar } from 'tough-cookie'

const jar = new CookieJar

const fetch = createFetch(
  cookieJar(jar)
)

fetch('http://example.com').then(response => {
  // The cookie jar automatically tracks cookie values that
  // are returned in the Set-Cookie HTTP header.
  response.headers.get('Set-Cookie')

  // A Cookie header will automatically be appended to
  // requests to the same origin.
  fetch('http://example.com')
})