- Logs to stdout, disabled while testing - Change log calls signature when needed - Use development version of camshaft - Removes unused log cofiguration - Bind request id to log req/res - Log req at the begining of the cycle and res at the end
30 lines
776 B
JavaScript
30 lines
776 B
JavaScript
'use strict';
|
|
|
|
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) {
|
|
return global.logger.error(new Error(`Pattern '${this.RE_USER_FROM_HOST}' does not match hostname '${host}'`));
|
|
}
|
|
|
|
if (mat.length !== 2) {
|
|
return global.logger.error(new Error(`Pattern '${this.RE_USER_FROM_HOST}' gave unexpected matches against '${host}': ${mat}`));
|
|
}
|
|
|
|
return mat[1];
|
|
};
|