filedownloader v1.2.7
filedownloader
a small module for easy downloading using the power of curl combined with node js

Note
this module requires curl to be present in your system path. if not please check those links
Quick start
npm install filedownloaderThen:
var Downloader = require("filedownloader");
var Dl = new Downloader({
url: "FILEURL"
}).on("progress", function (progress){
console.log(progress);
});The Downloader function accepts an object that can take:
urlurl to Download fromsaveasFilename to be saved as ex( audio.mp3)savetoFolder to be saved indeleteIfExistsDelete file if it does exist (default: false)resumeResume file if it's not completed, if false will delete the file and start it again (default: true)
The progress event will return :
{ progress: '1.3', dataWritten: 376072, filesize: '29828970', speed: 'byte/s'} //just an example of the ouputControlling The Download
you can pause the downloading by :
Dl.pause();and you can resume it by:
Dl.resume();Setting event handlers
'start': download started
The start event is emitted just after the download starts
Dl.on("start", function(){
console.log("Download started")
});'progress': progress information
The progress Event is emitted with an object argument with the following keys:
dataWritten: size of downloaded data in bytesfilesize: size of the target file in bytesprogress: an estimation of the progress percentagespeed: an estimation of the download speed
Dl.on("progress", function(progress){
console.log('Downloaded: ' + progress.pregress + '%');
});'error': error occurred
The error event is emitted when an error occurs
Dl.on("error", function(err){
console.log('Some error occurred:' + err);
});'end': Downloading finished
The end event is emitted when Downloading has finished.
Dl.on("end", function(){
console.log('Download finished');
});What's new
error event when status code is different than 200
Tests
npm testDependencies
- content-disposition: Create and parse Content-Disposition header
- del: Delete files and folders
- file-exists: Check if filepath exists and is a file
- mkdirp: Recursively mkdir, like
mkdir -p - q: A library for promises (CommonJS/Promises/A,B,D)
- request: Simplified HTTP request client.
- underscore: JavaScript's functional programming helper library.
- urlencode: encodeURIComponent with charset
- valid-url: URI validation functions
Contributing
Contributions welcome; Please submit all pull requests the against master branch. If your pull request contains JavaScript patches or features, you should include relevant unit tests. Please check the Contributing Guidelines for more details. Thanks!
Author
Oussama Barkouki
License
- GPL-3.0 : http://opensource.org/licenses/GPL-3.0