Use binary in sendFile (fix #172)

This commit is contained in:
abalabahaha
2016-03-06 10:55:32 -08:00
parent b541cfa89a
commit dd6c158250
2 changed files with 24 additions and 12 deletions

View File

@@ -165,14 +165,20 @@ var Resolver = (function () {
if (typeof resource === "string" || resource instanceof String) { if (typeof resource === "string" || resource instanceof String) {
if (/^https?:\/\//.test(resource)) { if (/^https?:\/\//.test(resource)) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
_superagent2["default"].get(resource).end(function (err, res) { _superagent2["default"].get(resource).buffer().parse(function (res, cb) {
res.setEncoding("binary");
res.data = "";
res.on("data", function (chunk) {
res.data += chunk;
});
res.on("end", function () {
cb(null, new Buffer(res.data, "binary"));
});
}).end(function (err, res) {
if (err) { if (err) {
reject(err); return reject(err);
} else if (res.text === undefined) {
resolve(res.body);
} else {
resolve(new Buffer(res.text));
} }
return resolve(res.body);
}); });
}); });
} else { } else {

View File

@@ -108,14 +108,20 @@ export default class Resolver {
if (typeof resource === "string" || resource instanceof String) { if (typeof resource === "string" || resource instanceof String) {
if (/^https?:\/\//.test(resource)) { if (/^https?:\/\//.test(resource)) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
request.get(resource).end((err, res) => { request.get(resource).buffer().parse((res, cb) => {
res.setEncoding("binary");
res.data = "";
res.on("data", (chunk) => {
res.data += chunk;
});
res.on("end", () => {
cb(null, new Buffer(res.data, "binary"));
});
}).end((err, res) => {
if (err) { if (err) {
reject(err); return reject(err);
} else if (res.text === undefined) {
resolve(res.body);
} else {
resolve(new Buffer(res.text));
} }
return resolve(res.body);
}); });
}); });
} else { } else {