Adam Rensel b05888e79d Add the correct demo app il y a 10 ans
..
test 0ad841a423 init commit il y a 10 ans
.editorconfig 0ad841a423 init commit il y a 10 ans
.jshintrc 0ad841a423 init commit il y a 10 ans
.npmignore 0ad841a423 init commit il y a 10 ans
.travis.yml 0ad841a423 init commit il y a 10 ans
LICENSE 0ad841a423 init commit il y a 10 ans
README.md 0ad841a423 init commit il y a 10 ans
index.js 0ad841a423 init commit il y a 10 ans
package.json b05888e79d Add the correct demo app il y a 10 ans

README.md

request-replay Build Status

Replays a request when a network error occurs using the retry module.

DO NOT use this module if you are piping request instances. If you are listening to data events to buffer, beware that you must reset everything when a replay occurs. This is why pipping is not supported.

Installation

$ npm install request-replay

Usage

var fs = require('fs');
var request = require('request');
var replay = require('request-replay');

// Note that the options argument is optional
// Accepts the same options the retry module does and an additional
// errorCodes array that default to ['EADDRINFO', 'ETIMEDOUT', 'ECONNRESET', 'ESOCKETTIMEDOUT']
replay(request('http://google.com/doodle.png', function (err, response, body) {
    // Do things
}), {
    retries: 10,
    factor: 3
})
.on('replay', function (replay) {
    // "replay" is an object that contains some useful information
    console.log('request failed: ' + replay.error.code + ' ' + replay.error.message);
    console.log('replay nr: #' + replay.number);
    console.log('will retry in: ' + replay.delay + 'ms')
})

Note that the default retry options are modified to be more appropriate for requests:

  • retries: The maximum amount of times to retry the operation. Default is 5.
  • factor: The exponential factor to use. Default is 2.
  • minTimeout: The amount of time before starting the first retry. Default is 2000.
  • maxTimeout: The maximum amount of time between two retries. Default is 35000.
  • randomize: Randomizes the timeouts by multiplying with a factor between 1 to 2. Default is true.

License

Released under the MIT License.