function next(err) {
    //if done
    if(index >= self.afters.length) {
      cb(err);
      return;
    }

    var handler = self.afters[index++];
    if(typeof handler === 'function') {
      handler(err, msg, session, resp, next);
    } else if(typeof handler.after === 'function') {
      handler.after(err, msg, session, resp, next);
    } else {
      logger.error('meet invalid after filter, handler or handler.after should be function.');
      next(new Error('invalid after filter.'));
    }
  } //end of next
Do after filter chain.
Give server a chance to do clean up jobs after request responsed.
After filter can not change the request flow before.
After filter should call the next callback to let the request pass to next after filter.

@param err {Object} error object
@param session {Object} session object for current request
@param {Object} resp response object send to client
@param cb {Function} cb(err) callback function to invoke next chain node