easyfetch
is a simple package that aims to facilitate the use of the default fetch function by wrapping it inside an easy to use api.
It uses isomorphic-fetch to support node.js and non-compatible browsers.
$ npm install --save easyfetch
or
$ yarn add easyfetch
It returns the EasyFetch
class instance.
It returns the JsonFetch
class instance.
It also adds Accept
and Content-Type
headers to : application/json
and automatically calls .json()
on the response object returned by the promise.
Set headers on the request.
headers
is an object.
It returns the EasyFetch
or JsonFetch
class instance in order to chain calls.
Should be called before _fetch
.
Set query parameters on the url.
queryParams
is an object.
It returns the EasyFetch
or JsonFetch
class instance in order to chain calls.
Should be called before _fetch
.
Set options for fetch
.
options
is an object.
It returns the EasyFetch
or JsonFetch
class instance in order to chain calls.
Should be called before _fetch
.
Set the Authorization
header to Basic
with login
and password
.
It returns the EasyFetch
or JsonFetch
class instance in order to chain calls.
Should be called before _fetch
.
It returns the promise returned by fetch
.
Calls _fetch
.
It returns the promise returned by fetch
.
Calls _fetch
.
It returns the promise returned by fetch
.
Calls _fetch
.
It returns the promise returned by fetch
.
Calls _fetch
.
It returns the promise returned by fetch
.
Calls _fetch
.
It returns the promise returned by fetch
.
Calls _fetch
.
import {easyFetch, jsonFetch} from 'easyfetch'
var data = {test: "data", field: "test", field2: 1}
var formdata = Object.keys(data).map((k) => [k, encodeURIComponent(data[k])].join('=')).join('&')
easyFetch("https://httpbin.org/get").get()
.then(response => /* do what you want with the response */)
.catch(error => console.log(error.response))
easyFetch("https://httpbin.org/post")
.setHeaders({"Content-Type": "application/x-www-form-urlencoded"})
.post(formdata)
.then(response => response.json())
.catch(error => console.log("Request failed: ", error.response))
jsonFetch("https://httpbin.org/get")
.setHeaders({'X-Api-Key': config.easyPOSLogApi.apiKey})
.get().then(data => console.log(data))
jsonFetch("https://httpbin.org/post").post(data)
.then(data => console.log(data))
Feel free to open issues and submit pull-requests.