Skip to content

Commit 269cad1

Browse files
committed
Download via request instead of http module
1 parent b828f5d commit 269cad1

2 files changed

Lines changed: 39 additions & 16 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"openframe-glslviewer": "^0.1.1",
3939
"openframe-image": "^0.1.6",
4040
"openframe-website": "^0.1.1",
41+
"request": "^2.69.0",
4142
"swagger-client": "^2.1.9"
4243
},
4344
"devDependencies": {

src/downloader.js

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66

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

1415
// unused at present
1516
function _mkdirp(dir) {
@@ -30,28 +31,49 @@ function _mkdirp(dir) {
3031
* @param {String} file_output_name
3132
*/
3233
function downloadFile(file_url, file_output_name, cb) {
33-
3434
return new Promise(function(resolve, reject) {
3535
var file_name = file_output_name,
3636
file_path = artworkDir + '/' + file_name,
3737
file = fs.createWriteStream(file_path);
3838

39-
http.get(file_url, function(res) {
40-
res.pipe(file);
41-
file.on('finish', function() {
42-
file.close(function() {
43-
if (cb) cb();
44-
resolve(file);
45-
}); // close() is async, call cb after close completes.
46-
});
47-
res.on('error', (e) => {
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) => {
4857
debug(`Got error: ${e.message}`);
4958
reject(e);
5059
});
51-
}).on('error', (e) => {
52-
debug(`Got error: ${e.message}`);
53-
reject(e);
54-
});
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+
// });
5577
});
5678

5779
}

0 commit comments

Comments
 (0)