got-fetch v5.1.9
got-fetch
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:
- ❌ RequestMode
no-cors
,same-origin
,navigate
- ❌ RequestCache
only-if-cached
- ❌ RequestRedirect
error
,manual
- ❌ response body streaming. See https://github.com/alexghr/got-fetch/issues/25
- ❗ ESM vs CJS packages. See https://github.com/alexghr/got-fetch/issues/70
- ❗ RequestHeaders must be a plain object
- ❗ RequestCache if unset (or
default
) will use got's caching algorithm (any other value will disable caching)
License
See LICENSE for information.
1 month ago
3 months ago
7 months ago
10 months ago
10 months ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago