UNPKG

@tlrg/middleware-js

Version:
36 lines (27 loc) 1.08 kB
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;