core/connect.js
function Connect(app, logger, req, res) {

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {IncomingMessage}
     * */
    this.req = req;

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {ServerResponse}
     * */
    this.res = res;

    //  TODO give connect and track same signature
    Track.call(this, app, logger);

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {String}
     * */
    this.route = null;

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {Array<String>}
     * */
    this.matches = [];

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {Number}
     * */
    this.routeIndex = -1;

    /**
     * @private
     * @memberOf {Connect}
     * @property
     * @type {Object}
     * */
    this._url = null;
}
function Connect(app, logger, req, res) {

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {IncomingMessage}
     * */
    this.req = req;

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {ServerResponse}
     * */
    this.res = res;

    //  TODO give connect and track same signature
    Track.call(this, app, logger);

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {String}
     * */
    this.route = null;

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {Array<String>}
     * */
    this.matches = [];

    /**
     * @public
     * @memberOf {Connect}
     * @property
     * @type {Number}
     * */
    this.routeIndex = -1;

    /**
     * @private
     * @memberOf {Connect}
     * @property
     * @type {Object}
     * */
    this._url = null;
}
@class Connect
@extends Track

@param {Server} app
@param {Logger} logger
@param {IncomingMessage} req
@param {ServerResponse} res