Skip to content

Commit 7516277

Browse files
committed
Use http-request module for file downloads
1 parent dea6275 commit 7516277

3 files changed

Lines changed: 21 additions & 48 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@
3333
"commander": "^2.8.1",
3434
"debug": "^2.2.0",
3535
"faye": "^1.1.2",
36+
"http-request": "^0.7.0",
3637
"inquirer": "^0.11.1",
3738
"jsonfile": "^2.2.1",
3839
"openframe-glslviewer": "^0.1.1",
3940
"openframe-image": "^0.1.6",
4041
"openframe-website": "^0.1.1",
41-
"request": "^2.69.0",
4242
"swagger-client": "^2.1.9"
4343
},
4444
"devDependencies": {

src/downloader.js

Lines changed: 17 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55
*/
66

77
// Dependencies
8-
var fs = require('fs'),
9-
exec = require('child_process').exec,
8+
var exec = require('child_process').exec,
109
debug = require('debug')('openframe:downloader'),
11-
url = require('url'),
1210
artworkDir = '/tmp',
13-
request = require('request');
11+
http = require('http-request');
1412

1513
// unused at present
1614
function _mkdirp(dir) {
@@ -25,55 +23,27 @@ function _mkdirp(dir) {
2523
/**
2624
* Download a file using HTTP get.
2725
*
28-
* TODO: use Promises instead of a callback.
29-
*
3026
* @param {String} file_url
3127
* @param {String} file_output_name
3228
*/
3329
function downloadFile(file_url, file_output_name, cb) {
3430
return new Promise(function(resolve, reject) {
3531
var file_name = file_output_name,
36-
file_path = artworkDir + '/' + file_name,
37-
file = fs.createWriteStream(file_path);
38-
39-
request.get(file_url)
40-
.on('response', function(res) {
41-
// create file write stream
42-
res.pipe(file);
43-
44-
res.on('end', function() {
45-
// go on with processing
46-
file.close(function() {
47-
if (cb) cb();
48-
resolve(file);
49-
});
50-
});
51-
52-
res.on('error', (e) => {
53-
debug(`Got error: ${e.message}`);
54-
reject(e);
55-
});
56-
}).on('error', (e) => {
57-
debug(`Got error: ${e.message}`);
58-
reject(e);
59-
});
60-
61-
// http.get(file_url, function(res) {
62-
// res.pipe(file);
63-
// file.on('finish', function() {
64-
// file.close(function() {
65-
// if (cb) cb();
66-
// resolve(file);
67-
// }); // close() is async, call cb after close completes.
68-
// });
69-
// res.on('error', (e) => {
70-
// debug(`Got error: ${e.message}`);
71-
// reject(e);
72-
// });
73-
// }).on('error', (e) => {
74-
// debug(`Got error: ${e.message}`);
75-
// reject(e);
76-
// });
32+
file_path = artworkDir + '/' + file_name;
33+
34+
// simplified download using http-request module
35+
http.get({
36+
url: file_url,
37+
progress: function (current, total) {
38+
debug('downloaded %d bytes from %d', current, total);
39+
}
40+
}, file_path, function (err, res) {
41+
if (err) {
42+
reject(err);
43+
return;
44+
}
45+
resolve(res.file);
46+
});
7747
});
7848

7949
}

src/rest.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ rest.init = function() {
2222
rest.client = client;
2323
resolve(client);
2424
}).catch(function(err) {
25+
console.log('\n');
26+
console.log('[o] ERROR: The server is not available.');
27+
console.log('\n');
2528
reject(err);
2629
});
2730
});

0 commit comments

Comments
 (0)