Skip to content

Commit

Permalink
fix(ClientDataResolver): always resolve with a buffer when fetching a…
Browse files Browse the repository at this point in the history
… file

Commit: 8541348
  • Loading branch information
SpaceEEC committed May 8, 2018
1 parent 9264511 commit ae28f52
Showing 1 changed file with 12 additions and 17 deletions.
29 changes: 12 additions & 17 deletions src/client/ClientDataResolver.js
Original file line number Diff line number Diff line change
Expand Up @@ -251,25 +251,20 @@ class ClientDataResolver {
if (this.client.browser && resource instanceof ArrayBuffer) return Promise.resolve(convertToBuffer(resource));

if (typeof resource === 'string') {
if (/^https?:\/\//.test(resource)) {
return snekfetch.get(resource).then(res => res.body instanceof Buffer ? res.body : Buffer.from(res.text));
}
return new Promise((resolve, reject) => {
if (/^https?:\/\//.test(resource)) {
snekfetch.get(resource)
.end((err, res) => {
if (err) return reject(err);
if (!(res.body instanceof Buffer)) return reject(new TypeError('The response body isn\'t a Buffer.'));
return resolve(res.body);
});
} else {
const file = path.resolve(resource);
fs.stat(file, (err, stats) => {
if (err) return reject(err);
if (!stats || !stats.isFile()) return reject(new Error(`The file could not be found: ${file}`));
fs.readFile(file, (err2, data) => {
if (err2) reject(err2); else resolve(data);
});
return null;
const file = path.resolve(resource);
fs.stat(file, (err, stats) => {
if (err) return reject(err);
if (!stats || !stats.isFile()) return reject(new Error(`The file could not be found: ${file}`));
fs.readFile(file, (err2, data) => {
if (err2) reject(err2);
else resolve(data);
});
}
return null;
});
});
} else if (resource && resource.pipe && typeof resource.pipe === 'function') {
return new Promise((resolve, reject) => {
Expand Down

0 comments on commit ae28f52

Please # to comment.