Skip to content

Instantly share code, notes, and snippets.

@Grigore147
Created January 23, 2013 18:07
Show Gist options
  • Save Grigore147/4611134 to your computer and use it in GitHub Desktop.
Save Grigore147/4611134 to your computer and use it in GitHub Desktop.
HTTP Response pause/resume
var Http = require('http');
var Fs = require('fs');
// some url to big video file
var url = 'url';
var path = 'save_path';
var downloaded = 0;
var percents = 0;
var size = 0;
var request = Http.request(url, function(response) {
size = parseInt(response.headers['content-length']);
response.on('data', function(chunk) {
downloaded += chunk.length;
percents = parseInt((downloaded / size) * 100);
console.log(percents +'%', downloaded +'/'+size);
});
response.on('error', function(error) {
console.log(error);
});
response.pipe(Fs.createWriteStream(path));
setTimeout(function() {
response.pause(); console.log('stream paused');
setTimeout(function() {
response.resume(); console.log('stream resumed');
}, 5000);
}, 5000);
}).end();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment