code: function GET(path, cb) {
    // console.log(`### ${endpoint}${path}`);
    (0, _request2.default)({ url: '' + endpoint + path, json: true, timeout: timeout }, function (err, res, body) {
      if (err || !res || res.statusCode >= 400) {
        var statusCode = res ? res.statusCode : 0,
            statusMessage = res ? res.statusMessage : 'Unspecified error (likely a timeout)';
  
        if (statusCode === 429) {
          var headers = res.headers || {},
              limit = headers['x-rate-limit-limit'] || 'N/A',
              interval = headers['x-rate-limit-interval'] || 'N/A';
          return cb(new Error('Rate limit exceeded: ' + limit + ' requests in ' + interval));
        }
        if (statusCode === 404) return cb(new Error('Not found on CrossRef: \'' + endpoint + path + '\''));
        var msg = err && err.message ? err.message : statusMessage;
        return cb(new Error('CrossRef error: [' + statusCode + '] ' + msg));
      }
      if ((typeof body === 'undefined' ? 'undefined' : _typeof(body)) !== 'object') return cb(new Error('CrossRef response was not JSON: ' + body));
      if (!body.status) return cb(new Error('Malformed CrossRef response: no `status` field.'));
      if (body.status !== 'ok') return cb(new Error('CrossRef error: ' + body.status));
      cb(null, body.message);
    });
  }
docs: CrossRef is *very* slow make a request