0.0.2 • Published 6 years ago

fetch-cookie-v2 v0.0.2

Weekly downloads
2
License
Unlicense
Repository
github
Last release
6 years ago

fetch-cookie-v2 npm version Build Status Known Vulnerabilities

This a fork of valeriangalliat/fetch-cookie. It will be updated to work with current node-fetch and tough-cookie versions.


Decorator for a fetch function to support automatic cookies.

Roadmap

Warning: The way this package works is subject to change. While fetch-cookie is decorating a given fetch function, this package will be reworked to depend on node-fetch since most NodeJS projects working with a fetch function will propably already use node-fetch.

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'))