0.2.2 • Published 8 months ago
har-replay v0.2.2
HAR Replay Utility
A simple utility to replay the contents of a HTTP Archive (HAR) file while maintaining the delay between requests. Utilizes the request npm module to execute the HTTP replay requests.
Installation
Available on the public NPM registry as har-replay.
npm install har-replay --saveExample
var harReplay = require('har-replay');
harReplay.load('example.har');API
harReplay.load(file, [options])
Load and replay the request in the HAR file found at local path file. A delay of entry.startDateTime - firstEntry.startDateTime will be applied to all requests after the first one.
options
timeout: A timeout (milliseconds) to wait for a reply. Defaults to 1 minute.beforeRequest: Afunction(request) { ... }to manipulate the request before it is replayed. If this method returnsfalsethen the request will not be replayed. If your function returns a promise, the library willawaitit before continuing on to make the request.onResponse: Afunction(response, request) { ... }to process the response that results from a replayed request. See for the axios response schema.onFinish: A callback function that gets called once all requests have been replayed and all responses (or errors) have been received.onError: Afunction(error, request) { ... }callback when any error occurs during replay.replayCachedEntries: Whether or not to replay requests where the response was loaded from the browser cache. By default this isfalse.
Full Example:
const harReplay = require('har-replay');
harReplay.load('example.har', {
beforeRequest: function(request) {
request.headers['Some-New-Header'] = 'abc';
},
onResponse: function(response, request, body) {
console.log(`Response status code for ${request.url}: ${response.status}`);
},
onFinish: function() {
console.log('All done!');
},
onError: function(error, request) {
console.error(error);
}
});