docs: function runBeforeHooks(req, method, config, conn, cb){
    var httpMethod = conn.connection.methods[method];
    
    async.eachSeries(conn.connection.hooks.before, function (hook, nextHook) {
      hook(req, httpMethod, config, conn, function (err) {
        if(err) {
          return nextHook(err);
        }
        if(!_.isEmpty(config.endpoint) && typeof req === 'undefined'){
          req = request[httpMethod](config.endpoint);
          setRequestHeaders(conn.connection, req);
        }
        nextHook();
      });
    }, function (err) {
      if(err) {
        return cb(err);
      }
      cb(null, req);
    });
  }