TurtleIO.prototype.prep = function ( req, res ) {
var msg = this.config.logs.format,
time = this.config.logs.time,
header = req.headers.authorization || "",
token = header.split( REGEX_SPACE ).pop() || "",
auth = new Buffer( token, "base64" ).toString(),
user = auth.split( ":" )[0] || "-",
refer = req.headers.referer ? ( "\"" + req.headers.referer + "\"" ) : "-",
ip = req.headers["x-forwarded-for"] ? req.headers["x-forwarded-for"].explode().last() : req.connection.remoteAddress;
msg = msg.replace( "{{host}}", req.headers.host )
.replace( "{{time}}", moment().format( time ) )
.replace( "{{ip}}", ip )
.replace( "{{method}}", req.method )
.replace( "{{path}}", req.parsed.path )
.replace( "{{status}}", res.statusCode )
.replace( "{{length}}", res.getHeader( "Content-Length" ) || "-")
.replace( "{{referer}}", refer )
.replace( "{{user}}", user )
.replace( "{{user-agent}}", req.headers["user-agent"] || "-" );
return msg;
};
Method prep
Preparing log message
Parameters:
req must be an Object.
(HTTP(S) request Object)
res must be an Object.
(HTTP(S) response Object)
Returns a String
(Log message)