Sha256: 41186e95ce073a58bb1da0bd010e06bab1c0f5959b3b0458b47ec5d6f9461c20

Contents?: true

Size: 1.9 KB

Versions: 69

Compression:

Stored size: 1.9 KB

Contents

# request-replay [![Build Status](https://secure.travis-ci.org/IndigoUnited/node-request-replay.png)](http://travis-ci.org/IndigoUnited/node-request-replay.png)

Replays a [request](https://github.com/mikeal/request) when a network error occurs using the [retry](https://github.com/felixge/node-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

```js
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](http://www.opensource.org/licenses/mit-license.php).

Version data entries

69 entries across 69 versions & 2 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.6 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.18 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.17 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.16 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.15 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.14 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.13 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.12 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.11 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.10 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.9 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.8 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.7 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.6 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.5 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md
trusty-festivity-extension-2.5.4 node_modules/bower/node_modules/bower-registry-client/node_modules/request-replay/README.md