Skip to content

Parses an HTTP Retry-After header and returns delay time in seconds.

License

Notifications You must be signed in to change notification settings

MorganConrad/parse-retry-after

Repository files navigation

Build Status License NPM Downloads Known Vulnerabilities Coverage Status

parse-retry-after

Parses an HTTP Retry-After header and returns delay time in seconds.

  • If there is no Retry-After header, returns 0
  • If there is, returns seconds to delay, rounding up, minimum 1
  • If Retry-After header is not an integer or a Date, (should not happen) throws an Error.

Usage (very rough, your code will differ!)

const parse_retry_after = require('parse-retry-after');  // or import...

fetch(URL, init)
  .then(function(response) {
    // probably want to save response somewhere somehow...
    // check response.status
    if (mightBeARetry) {
       let delaySeconds = parse_retry_after(response);
       if (delaySeconds) {
          //delay and call fetch again...
       }
    }
    else {
      // normal "happy path" code
    }
  })

Todos

  1. Currently uses module.exports, should probably use ES6 export
  • see parse-retry-after6.mjs for first pass at an ES6 export.

About

Parses an HTTP Retry-After header and returns delay time in seconds.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published