0.0.3 • Published 1 year ago

upgraded-fetch-timeout v0.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

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

ArgumentsTypeOptionalDefaultDescription
urlstringfalseurl to pass to node-fetch
optionsobjecttrue{}standard options to pass to node-fetch
timeoutnumbertrue10000maximum acceptable timeout before throwing the timeout error
errorstringtrue'Timeout error'custom error string after the timeout is expired

Tests

npm test

Contributing

Pull requests and suggestions are more than welcome!

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago