JSPM

  • Created
  • Published
  • Downloads 991616
  • Score
    100M100P100Q185917F
  • License Unlicense

Decorator for a `fetch` function to support automatic cookies.

Package Exports

  • fetch-cookie
  • fetch-cookie/node-fetch

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fetch-cookie) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

fetch-cookie npm version

Decorator for a fetch function to support automatic cookies.

Description

This library is more suited to use with a Node.js fetch implementation like node-fetch, since the browser version is supposed to let a way to include cookies in requests.

Usage

var fetch = require('fetch-cookie')(require('node-fetch'))

If you want to customize the tough-cookie CookieJar instance (for example, with a custom store), you can inject it as a second argument.

All calls to fetch will store and send back cookies according to the URL.

Cookies and redirection

By default, cookies are not set correctly in the edge case where a response sets cookies and redirects to another URL. A real-life example of this behaviour is a login page setting a session cookie and redirecting.

The reason for this limitation is that the generic fetch API does not allow any way to hook into redirects. However, the node-fetch library does expose its own API which we can use.

Long story short: if cookies during indirection turns out to be a requirement for you, and if you are using node-fetch, then you can use the custom node-fetch decorator provided with this library:

var fetch = require('fetch-cookie/node-fetch')(require('node-fetch'))