33 lines
702 B
JavaScript
33 lines
702 B
JavaScript
var request = require('request');
|
|
var fs = require('fs');
|
|
|
|
var download = function(url, dest, cb) {
|
|
var file = fs.createWriteStream(dest);
|
|
var sendReq = request.get(url);
|
|
|
|
var error = null;
|
|
sendReq.on('response', function(response) {
|
|
if (response.statusCode !== 200) {
|
|
error = 'Response status was ' + response.statusCode;
|
|
}
|
|
});
|
|
|
|
sendReq.on('error', function(err) {
|
|
fs.unlink(dest);
|
|
error = err
|
|
});
|
|
|
|
sendReq.pipe(file);
|
|
|
|
file.on('finish', function() {
|
|
file.close(cb(error));
|
|
});
|
|
|
|
file.on('error', function(err) {
|
|
fs.unlink(dest);
|
|
error = err.message;
|
|
});
|
|
};
|
|
|
|
module.exports = download;
|