Decorator for a
fetch
function to support automatic cookies.
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.
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.
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'))