upgraded-fetch-timeout

0.0.3 • Public • Published

Upgraded fetch-timeout

This is an update based on the original fetch-timeout HTTP/S fetch wrapper that adds the possibility to set a timeout after which a custom error is returned. If used in NodeJS, this package is dependent on node-fetch, altough it will always try to use window.fetch.

Usage

ES5

  var fetchTimeout = require('fetch-timeout');

  fetchTimeout('https://api.github.com/', {
    method: 'GET',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
  }, 5000, 'My custom timeout error string')
  .then(function(res) {
    if (res.status !== 200) {
      throw new Error('Status code not OK', res.status);
    } else {
      return res.json();
    }
  })
  .then(function(json) {
    console.log("json returned from response");
  })
  .catch(function(err) {
      console.log("error", err);
  });

ES6

  import fetchTimeout from 'fetch-timeout';

  fetchTimeout('https://api.github.com/', {
    method: 'GET',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
  }, 5000, 'My custom timeout error string')
  .then(res => {
    if (res.status !== 200) {
      throw new Error('Status code not OK', res.status);
    } else {
      return res.json();
    }
  })
  .then(json => {
    console.log("json returned from response");
  })
  .catch(err => {
      console.log("error", err);
  });

API

Arguments Type Optional Default Description
url string false url to pass to node-fetch
options object true {} standard options to pass to node-fetch
timeout number true 10000 maximum acceptable timeout before throwing the timeout error
error string true 'Timeout error' custom error string after the timeout is expired

Tests

npm test

Contributing

Pull requests and suggestions are more than welcome!

Readme

Keywords

Package Sidebar

Install

npm i upgraded-fetch-timeout

Weekly Downloads

62

Version

0.0.3

License

MIT

Unpacked Size

6.76 kB

Total Files

6

Last publish

Collaborators

  • locros