Skip to content

Commit 61f59fd

Browse files
committed
[#975] Updated project.controller.js
1 parent a0de57a commit 61f59fd

File tree

1 file changed

+39
-39
lines changed

1 file changed

+39
-39
lines changed

server/controllers/project.controller.js

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import format from 'date-fns/format';
33
import isUrl from 'is-url';
44
import jsdom, { serializeDocument } from 'jsdom';
55
import isAfter from 'date-fns/isAfter';
6-
import request from 'request';
6+
import axios from 'axios';
77
import slugify from 'slugify';
88
import Project from '../models/project';
99
import User from '../models/user';
@@ -125,7 +125,7 @@ export function getProjectsForUserId(userId) {
125125
export function getProjectAsset(req, res) {
126126
Project.findById(req.params.project_id)
127127
.populate('user', 'username')
128-
.exec((err, project) => { // eslint-disable-line
128+
.exec(async (err, project) => { // eslint-disable-line
129129
if (err) {
130130
return res
131131
.status(404)
@@ -145,15 +145,15 @@ export function getProjectAsset(req, res) {
145145
if (!resolvedFile.url) {
146146
return res.send(resolvedFile.content);
147147
}
148-
request(
149-
{ method: 'GET', url: resolvedFile.url, encoding: null },
150-
(innerErr, response, body) => {
151-
if (innerErr) {
152-
return res.status(404).send({ message: 'Asset does not exist' });
153-
}
154-
return res.send(body);
155-
}
156-
);
148+
149+
try {
150+
const { data } = await axios.get(resolvedFile.url, {
151+
responseType: 'arraybuffer'
152+
});
153+
res.send(data);
154+
} catch (error) {
155+
res.status(404).send({ message: 'Asset does not exist' });
156+
}
157157
});
158158
}
159159

@@ -198,7 +198,7 @@ function bundleExternalLibs(project, zip, callback) {
198198
let numScriptsResolved = 0;
199199
let numScriptTags = 0;
200200

201-
function resolveScriptTagSrc(scriptTag, document) {
201+
async function resolveScriptTagSrc(scriptTag, document) {
202202
const path = scriptTag.src.split('/');
203203
const filename = path[path.length - 1];
204204
const { src } = scriptTag;
@@ -212,23 +212,21 @@ function bundleExternalLibs(project, zip, callback) {
212212
return;
213213
}
214214

215-
request(
216-
{ method: 'GET', url: src, encoding: null },
217-
(err, response, body) => {
218-
if (err) {
219-
console.log(err);
220-
} else {
221-
zip.append(body, { name: filename });
222-
scriptTag.src = filename;
223-
}
215+
try {
216+
const { data } = await axios.get(src, {
217+
responseType: 'arraybuffer'
218+
});
219+
zip.append(data, { name: filename });
220+
scriptTag.src = filename;
221+
} catch (err) {
222+
console.log(err);
223+
}
224224

225-
numScriptsResolved += 1;
226-
if (numScriptsResolved === numScriptTags) {
227-
indexHtml.content = serializeDocument(document);
228-
callback();
229-
}
230-
}
231-
);
225+
numScriptsResolved += 1;
226+
if (numScriptsResolved === numScriptTags) {
227+
indexHtml.content = serializeDocument(document);
228+
callback();
229+
}
232230
}
233231

234232
jsdom.env(indexHtml.content, (innerErr, window) => {
@@ -264,7 +262,7 @@ function buildZip(project, req, res) {
264262
);
265263
zip.pipe(res);
266264

267-
function addFileToZip(file, path) {
265+
async function addFileToZip(file, path) {
268266
if (file.fileType === 'folder') {
269267
const newPath = file.name === 'root' ? path : `${path}${file.name}/`;
270268
file.children.forEach((fileId) => {
@@ -274,16 +272,18 @@ function buildZip(project, req, res) {
274272
})();
275273
});
276274
} else if (file.url) {
277-
request(
278-
{ method: 'GET', url: file.url, encoding: null },
279-
(err, response, body) => {
280-
zip.append(body, { name: `${path}${file.name}` });
281-
numCompletedFiles += 1;
282-
if (numCompletedFiles === numFiles) {
283-
zip.finalize();
284-
}
285-
}
286-
);
275+
try {
276+
const { data } = await axios.get(file.url, {
277+
responseType: 'arraybuffer'
278+
});
279+
zip.append(data, { name: `${path}${file.name}` });
280+
} catch (err) {
281+
console.log(err);
282+
}
283+
numCompletedFiles += 1;
284+
if (numCompletedFiles === numFiles) {
285+
zip.finalize();
286+
}
287287
} else {
288288
zip.append(file.content, { name: `${path}${file.name}` });
289289
numCompletedFiles += 1;

0 commit comments

Comments
 (0)