src/prep.js

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)

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; };