request-progress
Tracks the download progress of a request made with request.
Installation
$ npm install request-progress
Usage
var fs = require('fs');
var request = require('request');
var progress = require('request-progress');
progress(request('http://google.com/doodle.png'), {
throttle: 2000,
delay: 1000,
lengthHeader: 'x-transfer-length'
})
.on('progress', function (state) {
console.log('received size in bytes', state.received);
console.log('total size in bytes', state.total);
console.log('percent', state.percent);
console.log('eta', state.eta);
})
.on('error', function (err) {
})
.pipe(fs.createWriteStream('doodle.png'));
Note that the state
object emitted in the progress
event is reused to avoid creating a new object for each event.
If you wish to peek the state
object at any time, it is available in request.progressState
.
License
Released under the MIT License.