Thanks all, of course zlib.Unzip() did the trick. On Thursday, April 25, 2013 9:18:16 PM UTC-7, Martin Cooper wrote: > > > > On Thu, Apr 25, 2013 at 8:40 PM, Glenn Scott <[email protected]<javascript:> > > wrote: > >> I'm missing something obvious... when I download a tarball from Github >> and attempt to stream it to node-tar, the Extract method tells me I have an >> invalid tar file. Any ideas? >> >> var tar = require( 'tar' ) >> , request = require( 'request' ) >> , UA = 'test/1.0' >> , options = { headers: { "User-Agent": UA } } >> , uri = ' >> https://api.github.com/repos/isaacs/node-tar/tarball/master' >> , fs = require('fs') >> >> >> // this works >> >> request( uri, options ) >> .pipe( fs.createWriteStream( 'out.tar' ) ) >> .on( "end", function() { >> console.log( 'done' ) >> }) >> .on( "error", function( e ) { >> console.log( e ) >> }) >> >> >> /* >> >> // this doesn't work ('Error: invalid tar file') >> >> request( uri, options ) >> .pipe( tar.Extract( { path: __dirname + '/extract' } ) ) >> .on( "end", function() { >> console.log( 'done' ) >> }) >> .on( "error", function( e ) { >> console.log( e ) >> }) >> > > Right, because as Ryan mentioned, a tarball isn't a tar file, it's a > .tar.gz file. You need something like: > > .pipe(zlib.Unzip()) > .pipe( tar.Extract( { path: __dirname + '/extract' } ) ) > > (with the requisite error handling, of course). > > -- > Martin Cooper > > > >> */ >> >> >> -- >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to [email protected]<javascript:> >> To unsubscribe from this group, send email to >> [email protected] <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en >> >> --- >> You received this message because you are subscribed to the Google Groups >> "nodejs" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > >
-- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
