Skip to content

Instantly share code, notes, and snippets.

@wlaurance
Created July 12, 2013 01:28
Show Gist options
  • Select an option

  • Save wlaurance/5980708 to your computer and use it in GitHub Desktop.

Select an option

Save wlaurance/5980708 to your computer and use it in GitHub Desktop.
http request charm progress
var charm = require('charm')(),
http = require('http');
charm.pipe(process.stdout);
charm.write('\n');
charm.cursor(false);
var options = {
hostname: 'nodejs.org',
port: 80,
path: '/dist/v0.10.13/node-v0.10.13.tar.gz',
method: 'GET'
};
var req = http.request(options);
req.on('response', function(res){
var length = res.headers['content-length'],
count = 0,
prev = '';
res.on('data', function(chunk){
charm.left(prev.length);
count += chunk.length;
prev = count + '/' + length;
charm.write(prev);
});
res.on('end', function(){
charm.write('\n');
charm.cursor(true);
});
});
req.end();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment