request.get(BASE_URL + endpoint, function(err, res, body) { if(err) { return reject(err); } if(res.statusCode !== 200) { return reject(new HTTPError(res.statusCode, res.text)); } parse(body, function(err, json) { if(err) { return reject(err); } return resolve(json); }); });