@jymfony/routing
Version:
Jymfony Routing component
115 lines (100 loc) • 2.4 kB
JavaScript
/**
* @memberOf Jymfony.Component.Routing
*/
export default class RequestContext {
/**
* Constructor.
*
* @param {string} method
* @param {string} host
* @param {string} scheme
* @param {int} httpPort
* @param {int} httpsPort
* @param {string} path
* @param {string} queryString
*/
__construct(method = 'GET', host = 'localhost', scheme = 'http', httpPort = 80, httpsPort = 443, path = '/', queryString = '') {
/**
* @type {string}
*/
this.method = method;
/**
* @type {string}
*/
this.host = host;
/**
* @type {string}
*/
this.scheme = scheme;
/**
* @type {int}
*/
this.httpPort = ~~httpPort;
/**
* @type {int}
*/
this.httpsPort = ~~httpsPort;
/**
* @type {string}
*/
this.path = path;
/**
* @type {string}
*/
this.queryString = queryString;
/**
* @type {Object.<string, *>}
*
* @private
*/
this._parameters = {};
}
/**
* Returns the parameters.
*
* @returns {Object.<string, *>} The parameters
*/
get parameters() {
return this._parameters;
}
/**
* Sets the parameters.
*
* @param {Object.<string, *>} parameters The parameters
*/
set parameters(parameters) {
this._parameters = parameters;
}
/**
* Gets a parameter value.
*
* @param {string} name A parameter name
*
* @returns {*} The parameter value or undefined if nonexistent
*/
getParameter(name) {
return this._parameters[name];
}
/**
* Checks if a parameter value is set for the given parameter.
*
* @param {string} name A parameter name
*
* @returns {boolean} True if the parameter value is set, false otherwise
*/
hasParameter(name) {
return !! this._parameters[name];
}
/**
* Sets a parameter value.
*
* @param {string} name A parameter name
* @param {*} parameter The parameter value
*
* @returns {Jymfony.Component.Routing.RequestContext}
*/
setParameter(name, parameter) {
this._parameters[name] = parameter;
return this;
}
}