27 lines
808 B
JavaScript
27 lines
808 B
JavaScript
function CdbRequest() {
|
|
this.RE_USER_FROM_HOST = new RegExp(global.environment.user_from_host ||
|
|
'^([^\\.]+)\\.' // would extract "strk" from "strk.cartodb.com"
|
|
);
|
|
}
|
|
|
|
module.exports = CdbRequest;
|
|
|
|
|
|
CdbRequest.prototype.userByReq = function(req) {
|
|
var host = req.headers.host;
|
|
if (req.params.user) {
|
|
return req.params.user;
|
|
}
|
|
var mat = host.match(this.RE_USER_FROM_HOST);
|
|
if ( ! mat ) {
|
|
console.error("Pattern '" + this.RE_USER_FROM_HOST + "' does not match hostname '" + host + "'");
|
|
return;
|
|
}
|
|
// console.log("Matches: "); console.dir(mat);
|
|
if ( mat.length !== 2 ) {
|
|
console.error("Pattern '" + this.RE_USER_FROM_HOST + "' gave unexpected matches against '" + host + "': ", mat);
|
|
return;
|
|
}
|
|
return mat[1];
|
|
};
|