Nightly Perpetrated Mischief

    micro-api-client

    3.3.0 • Public • Published

    micro-api-client

    Build Status

    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.

    Install

    npm i micro-api-client

    DownloadsWeekly Downloads

    88,600

    Version

    3.3.0

    License

    ISC

    Unpacked Size

    14.6 kB

    Total Files

    5

    Last publish

    Collaborators

    • lukeoliff
    • ascorbic
    • zachleat
    • nasiba
    • netlify-bot
    • charliegerard
    • eduardoboucas
    • jgantunes
    • biilmann
    • benaiah
    • erquhart
    • shortdiv
    • marcus.netlify
    • ehmicky
    • erezro
    • lesliecdubs
    • futuregerald
    • neolegends
    • lindsaylevine