Easily configurable basic http requests on top of isomorphic-fetch

Usage no npm install needed!

<script type="module">
  import httpOtro from '';



A configuration lib and caller for isomorphic-fetch:

import { fetch } from 'isomorphic-fetch'

client({host: 'myhost', headers: {'Authorization': 'Bearer SomeToken'}}).get('/foo', {bar: 'baz'}) // Requests GET /foo?bar=baz
  //deal with response

Default host and headers can be provided via client, or you can just call client().method.

For all methods, headers can be given via the last param. A Content-Type of application/json is the default for all requests.

There are also response handlers which provide a shorthand for working with promises. For instance, the json handler allows you to write:


...instead of:

  return res.json();
  //Do something with json

Client API

request(resource, method, body={}, headers={})

All other methods alias this method.

get(resource, params={}, headers={})

Turns params into a query string.

post(resource, body={}, headers={})

put(resource, body={}, headers={})

del(resource, body={}, headers={})


Transforms are a simple way to modify request args before a request is dispatched. Example:

client({transforms: [
    args.headers.authorization = localStorage.getItem('jwt')
    return args

Response Handling API