Skip to content
Wrapper for request module that saves all traffic as a HAR file.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.editorconfig
.gitignore
.travis.yml
LICENSE.txt
README.md
package.json
request-capture-har.js
yarn.lock

README.md

request-capture-har

Wrapper for request module that saves all network traffic data as a HAR file.

Build Status NPM request-capture-har package

Compatibility

request >= 2.81.0 recommended, as it has much more detailed timings via timingPhases.

request >= v2.75.0 required, at a minimum.

Usage

// wrap around your request module
const RCH = require('request-capture-har');
const requestCaptureHar = new RCH(require('request'));

// ...
// `requestCaptureHar.request` is your `request` module's API.
// ...
requestCaptureHar.request(uri, options, callback);

// Save HAR file to disk
requestCaptureHar.saveHar(`network-waterfall_${new Date().toISOString()}.har`);

// You can also clear any collected traffic
requestCaptureHar.clear();

This repo is a fork of larsthorup's node-request-har-capture. Instead of monkey-patching request-promise, the API allows you to pass in the general request module. We also added better support for transfer timings.

image Above is a HAR captured by using request-capture-har from within npm to capture an npm install.

Background

This is especially useful for capturing all test traffic from your back-end test suite, for doing auto mocking in your front-end test suite. See this project for an example: https://github.com/larsthorup/http-auto-mock-demo. Blog post about this technique: http://www.zealake.com/2015/01/05/unit-test-your-service-integration-layer/

You can’t perform that action at this time.