lib/projection.js
function requestGET(url, callback) {
  request.get({url: url, encoding: null}, function (err, res, body) {
    if (err) {
      callback(err);
      return;
    }
    if (res.statusCode !== 200) {
      callback(res.statusCode);
      return;
    }

    var regex = /(?:charset|encoding)\s*=\s*['"]? *([\w\-]+)/i;
    var encoding = regex.exec(res.headers['content-type'])[1];

    var $ = cheerio.load(iconv.decode(new Buffer(body), encoding));

    callback(null, $);
  });
}
function requestGET(url, callback) {
  request.get({url: url, encoding: null}, function (err, res, body) {
    if (err) {
      callback(err);
      return;
    }
    if (res.statusCode !== 200) {
      callback(res.statusCode);
      return;
    }

    var regex = /(?:charset|encoding)\s*=\s*['"]? *([\w\-]+)/i;
    var encoding = regex.exec(res.headers['content-type'])[1];

    var $ = cheerio.load(iconv.decode(new Buffer(body), encoding));

    callback(null, $);
  });
}
Private