@tlrg/middleware-js
Version:
Node module for sharing common middlewares.
36 lines (27 loc) • 1.08 kB
JavaScript
var logger = require('tlrg-logger')();
var middleware = function middleware(request, response, next) {
var startTime = new Date().getTime();
var remoteAddress = request.socket ? request.socket.remoteAddress : 'no socket';
request.moonstick = request.moonstick || {};
var logRequest = function logRequest() {
response.removeListener('finish', logRequest);
response.removeListener('close', logRequest);
var stuffToLog = {
status: response.statusCode,
url: request.url,
originalUrl: request.originalUrl,
method: request.method,
requestHeaders: request.headers,
responseHeaders: response.headers,
startTime: startTime,
endTime: new Date().getTime(),
remoteAddress: remoteAddress,
metrics: request.moonstick.metrics
};
logger.info('Request handled', stuffToLog);
};
response.on('finish', logRequest);
response.on('close', logRequest);
return next(null);
};
module.exports = middleware;