3.3.0 • Published 7 years ago
micro-api-client v3.3.0
micro-api-client
Small library for talking to micro REST APIs (not related to Netlify's main API).
Installation
yarn add micro-api-clientUsage
import API, { getPagination } from 'micro-api-client'
const api = new API("/some/api/endpoint");
api
.request("foo")
.then(response => console.log(response))
.catch(err => console.error(err));API
api = new API(apiURL, [opts])
Create a new micro-api-client instance. apiURL can be a full or relative URL. Optional opts include:
{
defaultHeaders: {
} // header values to include in every request.
}api.request(path, [opts])
Make a request to the apiURL at the given path. Optional opts are passed to the fetch API:
// Default options
{
headers: {} // Optional headers object. Overrides defaultHeaders
credentials: "same-origin" // set fetch credentials option
"Content-Type": "application/json" // set Content-Type fetch option
}Returns a promise with the response. If the contentType is JSON, it will be checked for pagination and return either the parsed JSON object or a paginated JSON object:
// See src/pagination.js
{
pagination: {
last,
next,
prev,
first,
current,
total
},
items: json
}If an error occurs during the request, the promise may be rejected with an HTTPError, TextHTTPError, or JSONHTTPError.
class HTTPError extends Error
Additional error properties from Error
{
stack, // stack trace of error
status // status code of response
}class TextHTTPError extends HTTPError
Additional error properties from HTTPError
{
data // data of text response
}class JSONHTTPError extends HTTPError
Additional error properties from HTTPError
{
json // json of a JSON response
}pagination = getPagination(response)
Returns a pagination object that micro-api-client uses internally.