Chainfetch
Super simple HTTP requests using node-fetch and a chainable interface
Getting Started
First off, you need to install the module! To do so,
npm i chainfetch node-fetch
yarn add chainfetch node-fetch
And then you're ready to roll! Or...chain.
Usage
The following examples assume you are in the context of an async function. All return functions return a promise for you to use.
const fetch = require('chainfetch');
const res = await fetch.get('https://example.com').toText();
For posting data, you can do something similar to this
const fetch = require('chainfetch');
const res = await fetch.post('https://example.com').query({ isSimple: true }).query('isAmazing', true).send({ string: 'chainfetch is simple and amazing!' });
Are you a TypeScript user
We got you covered! We have rich typings which should work in all cases (if not, feel free to submit an issue ❤️)
import chainfetch from 'chainfetch';
import { get } from 'chainfetch';
import * as chainfetch from 'chainfetch';
chainfetch.get();
const myCustomClass = new chainfetch('HTTP METHOD', 'URL');
myCustomClass.get();
Meaning of toJSON
, toText
and toBuffer
In chainfetch, there are 4 functions which can determine how the response should be parsed. You can access the body by using res.body
.
By default, we try to JSON.parse the body if the response provides the Content-Type
header and it includes application/json
.
Function | What it returns |
---|
toBuffer | Does no processing on the body, and returns it as a buffer |
toJSON | Attempts to parse the response body as a JSON object, otherwise it returns the stringified Buffer |
toText and toString | Both of these functions take the response body and turn it into a string |