Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

stackable-fetcher

r7kamura37MIT0.4.0

A middleware-based HTTP client library based on node-fetch.

readme

stackable-fetcher

A middleware-based HTTP client library based on node-fetch.

Install

npm install stackable-fetcher

Usage

stackable-fetcher provides Fetcher class. This class has #get, #post, #delete and other HTTP methods that return Promise.

import Fetcher from 'stackable-fetcher'

const fetcher = new Fetcher();
fetcher.get('https://github.com/').then(({ body, headers, status  }) => {
  console.log(body);
});

Middleware

stackable-fetcher is easily extended via middleware stack.

Specs

  • A middleware is a constructor function that takes an application and options
  • A middleware instance has #call(request) property that returns a promise

Example middlewares

Example usage

import { Fetcher, RequestLogger, ResponseLogger } from 'stackable-fetcher'

new Fetcher()
  .use(RequestLogger)
  .use(ResponseLogger)
  .get('https://api.github.com/users/r7kamura');

changelog

v0.4.0

  • Change response interface
  • Allow users to import Fetcher from 'stackable-fetcher'

v0.3.0

  • Make Fetcher#use immutable

v0.2.0

  • Use ES6 and babel

v0.1.6

  • Add Mock middleware

v0.1.5

  • Improve JsonResponseDecoder on empty response body

v0.1.4

  • Fix RejectLogger bug

v0.1.3

  • Add RejectLogger middleware

v0.1.2

  • Add JsonResponseDecoder middleware

v0.1.1

  • Add JsonRequestEncoder middleware

v0.1.0

  • Change exported object structure

v0.0.3

  • Fix index.js file path

v0.0.2

  • Treat 2nd argument as URL query parameters in GET, HEAD, DELETE
  • Reveal adapter and middlewares properties
  • Improve development environment

v0.0.1

  • 1st release