Skip to content
main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

got-fetch

NPM Release workflow semantic-release: angular npm npm

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

Install

Support table:

got-fetch version works with got version Notes
^5.0.0 ^12.0.0 ESM package. You have to use import
^4.0.0 ^11.0.0 CJS package. You can use require

got is a peer dependency so you will need to install it alongside got-fetch:

npm install --save got got-fetch

For CommonJS support, we maintain v4 of this package.

Usage

Use the default export:

import fetch from 'got-fetch';

// in ESM we can use top-level await
const resp = await fetch('https://example.com');

console.log(resp.status); // 200
console.log(await resp.text()); // a HTML document

The module also exports a function which allows you to use your own custom got instance:

import got from 'got';
import { createFetch } from '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');

Limitations

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:

License

See LICENSE for information.