4.1.3 • Published 3 years ago

fetchu v4.1.3

Weekly downloads
297
License
ISC
Repository
github
Last release
3 years ago

fetchu: universal http-client

npm version build status

Differences with fetch:

  • automatically handle json body (JSON.stringify a body that is an objet literal, and add the right header)
  • throws on http error status

Files:

  • fetchu-node.js: using http/https modules for NodeJS, light drop-in replacement for node-fetch
  • fetchu-browser.js: it wraps window.fetch
import fetchu from 'https://unpkg.com/fetchu';

await fetchu('https://cors-anywhere.herokuapp.com/http://example.com').then(r => r.text()) // <!doctype html><html ...
await fetchu('https://httpbin.org/get?test=foo').then(r => r.json()) // { args: { test: 'foo' }, ...
await fetchu('https://httpbin.org/post', {method: 'POST', body: {test: 'foo'}}).then(r => r.json()) // { args: {},..

// abort:
const ac = new AbortController()
fetchu('https://httpbin.org/get?test=foo', { signal: ac.signal }).then(console.log, console.error)
delay(10).then(() => ac.abort())

NodeJS specificities (coming from http/https builtins):

const fetchu = require('fetchu');
await fetchu({ path: '/v1.37/containers/json', socketPath: '/var/run/docker.sock' }).then(r => r.json()) // [ { Id: 'aa6...

// abort:
require('abortcontroller-polyfill/dist/abortcontroller-polyfill-only');
const ac = new AbortController()
fetchu('https://httpbin.org/get?test=foo', { signal: ac.signal }).then(console.log, console.error)
delay(10).then(() => ac.abort());
// or 
const signal = new EventEmitter(); // node.js native events.EventEmitter
fetchu('https://httpbin.org/get?test=foo', { signal }).then(console.log, console.error)
delay(10).then(() => signal.emit('abort'))
4.1.3

3 years ago

4.1.2

4 years ago

4.1.1

4 years ago

4.1.0

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.2.1

5 years ago

3.1.0

5 years ago

3.0.0

5 years ago

2.0.1

5 years ago

2.0.0

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.3

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.1

6 years ago