Package Exports
- micro-api-client
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (micro-api-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
micro-api-client
Small library for talking to micro REST APIs (not related to Netlify's main API).
Installation
yarn add micro-api-client
Usage
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.