Fetchface
A convenient interface for the Fetch API
Purpose
Fetchface provides a layer of convenience on top of the already-excellent Fetch API. It is geared toward making common web application tasks simple and easy, and abstracts away some of the boilerplate required to handle JSON responses from your API.
Note: By default, Fetchface sets the "Content-Type" request header to "application/json".
Installation
Install as a local dependency:
npm install -S fetchface
Usage
const fetchf = require('fetchface');
fetchf.get('/userToken')
.then(userTokenData => {
console.log(userTokenData);
});
fetchf.post('/users', {
body: { name: 'Billy' },
})
.then(newUserData => {
console.log(newUserData);
});
fetchf.put('/users/1234', {
body: { name: 'Joe' },
})
.then(updatedUserData => {
console.log(updatedUserData);
});
fetchf.del('/users/1234')
.then(() => {
console.log('Succes!');
});
fetchf.setHeaders({ 'Authorization': 'Basic ${userToken}' });
fetchf.resetHeaders();
fetchf.post('/users', {
body: { name: 'Dave' },
headers: { 'x-my-custom-header': 'awesome' },
})
.then(newUserData => {
console.log(newUserData);
});
fetchf.onResponseCode(401, () => {
console.log('Unauthorized!');
});
While Fetchface is designed to work with JSON payloads, it can also handle FormData
, which can be useful for uploading files.
Versioning
To keep better organization of releases this project follows the Semantic Versioning 2.0.0 guidelines.
Contributing
Want to contribute? Follow these recommendations.
License
MIT License © Justin Sisley