docs: function Server (requestListener) {
      var me = this;
  
      // Private extensions to the Server instance
      this._requestListener = requestListener;
      this._middleware = [];
  
      // HTTP negotiation (see core)
      this.httpAllowHalfOpen = false;
      this.timeout = 2 * 60 * 1000;
  
      // Default event listeners
      this.addListener('connection', http._connectionListener);
      this.addListener('clientError', function (err, conn) {
          conn.destroy(err);
      });
  
      // Request listener
      this.addListener('request', function (req, res) {
          // Extend req and res
          _.extend(req, request);
          _.extend(res, response);
  
          // Interate over middleware & apply request listener
          me.series(req, res, me._middleware, function (err) {
              if (err) return me.emit('error', err);
              requestListener(req, res);
          });
      });
  }