From 7599553a90144b2af01c755caf676f5622a57c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivar=20Conradi=20=C3=98sthus?= Date: Thu, 30 Apr 2020 23:04:06 +0200 Subject: [PATCH] fix: stop measure responsetime for unknown paths (#591) --- lib/middleware/request-logger.js | 8 +++++--- lib/middleware/response-time.js | 8 ++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/middleware/request-logger.js b/lib/middleware/request-logger.js index 8223dd1413..b478bc355b 100644 --- a/lib/middleware/request-logger.js +++ b/lib/middleware/request-logger.js @@ -5,10 +5,12 @@ const url = require('url'); module.exports = function(config) { const logger = config.getLogger('HTTP'); return (req, res, next) => { - next(); if (config.enableRequestLogger) { - const { pathname } = url.parse(req.originalUrl); - logger.info(`${res.statusCode} ${req.method} ${pathname}`); + res.on('finish', () => { + const { pathname } = url.parse(req.originalUrl); + logger.info(`${res.statusCode} ${req.method} ${pathname}`); + }); } + next(); }; }; diff --git a/lib/middleware/response-time.js b/lib/middleware/response-time.js index 724bb8b89a..60a45a0073 100644 --- a/lib/middleware/response-time.js +++ b/lib/middleware/response-time.js @@ -6,11 +6,15 @@ const { REQUEST_TIME } = require('../events'); module.exports = function(config) { return responseTime((req, res, time) => { - const { pathname } = url.parse(req.originalUrl); + const { statusCode } = res; + const pathname = req.route + ? url.parse(req.originalUrl).pathname + : '(hidden)'; + const timingInfo = { path: pathname, method: req.method, - statusCode: res.statusCode, + statusCode, time, }; config.eventBus.emit(REQUEST_TIME, timingInfo);