my-bookmark/common/download.js

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;