Skip to content
This repository was archived by the owner on Sep 24, 2020. It is now read-only.

JonnyBurger/real-isomorphic-fetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

real-isomorphic-fetch Build Status

Isomorphic fetch() with cookie 🍪 and redirect ⏩ support for all environments

Installation

npm install real-isomorphic-fetch --save

Usage

const IsomorphicFetch = require('real-isomorphic-fetch');
const fetch = require('node-fetch'); // could also be window.fetch in the browser or global.fetch in react-native
const fetchInstance = new IsomorphicFetch(fetch) // cookies are shared between every IsomorphicFetch instance

fetchInstance('https://example.com/123') // Cookies and redirects are handled automatically
.then(response => response.text())
.then(text => console.log(text))
.catch(err => console.error(err));

The problem

const fetchWithCookie = require('fetch-cookie')(require('node-fetch'));
fetchWithCookie('https://example.com/123', {
	redirect: 'manual'
})
.then(response => response.headers.get('Location'))
.then(location => fetchWithCookie(location, {redirect: 'manual'}))
  • ... which then doesn't work in the browser anymore because you can't intercept redirects (and because it uses native dependencies)!

The solution

This library handles cookies and redirects together and normalizes the behaviour of node-fetch to match the one of the browser, so you can use the same syntax in both environments.

Credits

This is a rewrite of fetch-cookie. Heavy inspiration also from isomorphic-fetch.

License

MIT © Jonny Burger

About

Isomorphic fetch() with cookie 🍪 and redirect ⏩ support for all environments

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors