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
const api = "/some/api/endpoint";api ;
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.