INNER CODE UNIT · JavaScript
Promise
chadbyte/clay · lib/server.js:52
return new Promise(function (resolve, reject) {
var mod = url.startsWith("https") ? https : http;
mod.get(url, { headers: { "User-Agent": "Clay/1.0" } }, function (resp) {
if (resp.statusCode >= 300 && resp.statusCode < 400 && resp.headers.location) {
return httpGetBinary(resp.headers.location).then(resolve, reject);
}
if (resp.statusCode !== 200) {
return reject(new Error("HTTP " + resp.statusCode));
}
var chunks = [];
resp.on("data", function (c) { chunks.push(c); });
resp.on("end", function () { resolve(Buffer.concat(chunks)); });
resp.on("error", reject);
}).on("error", reject);
});
}