A fetch-compatible wrapper around got for those times when you need to
fetch stuff over HTTP 😉
Why would you use this instead of got? Sometimes you might need a fetch
wrapper and this is it (e.g. Apollo uses fetch to query remote schemas).
got is a peer dependency so you will need to install it alongside got-fetch:
$ npm install --save got got-fetchIf you use Typescript then you will also need @types/got if you want your
project to build:
$ npm install --save-dev @types/gotThe module exports a global instance ready to fetch resources:
const { fetch } = require('got-fetch');
fetch('https://example.com').then(resp => {
console.log(resp.status); // should be 200
resp.text().then(body => console.log(body)); // should be some HTML code
});The module also exports a function which allows you to use your own custom
got instance:
const got = require('got');
const { createFetch } = require('got-fetch');
const myGot = got.extend({
headers: {
'x-api-key': 'foo bar'
}
});
const fetch = createFetch(myGot);
// this request will send the header `x-api-key: foo bar`
fetch('https://example.com');fetch is designed for browser environments and this package is just a wrapper
around a Node-based HTTP client. Not all fetch features are supported:
- ❌ RequestMode
no-cors,same-origin,navigate - ❌ RequestCache
only-if-cached - ❌ RequestRedirect
error,manual - ❗ RequestHeaders must be a plain object
- ❗ RequestCache if unset (or
default) will use got's caching algorithm (any other value will disable caching)
See LICENSE for information.