
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
request-replay
Advanced tools
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.
$ npm install request-replay
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 with error codes that cause the replay to happen
// Check out the code to see which is the default value for it
replay(request('http://google.com/doodle.png', { timeout: 10000 }, function (err, response, body) {
// Do things
}), {
retries: 10,
factor: 3
})
.on('socket', function (socket) {
// In some operating systems the socket timeout is 0 so you must explicitly set it
// and close the socket once reached
socket.setTimeout(10000, socket.end.bind(socket));
})
.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
.Released under the MIT License.
FAQs
Replays a request when a network error occurs
The npm package request-replay receives a total of 22,422 weekly downloads. As such, request-replay popularity was classified as popular.
We found that request-replay demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.