Просмотр исходного кода

Check that req.route.path is set

James Allen 12 лет назад
Родитель
Сommit
1dea55d8f2
1 измененных файлов с 18 добавлено и 16 удалено
  1. 18 16
      libraries/metrics/http.coffee

+ 18 - 16
libraries/metrics/http.coffee

@@ -8,22 +8,24 @@ module.exports.monitor = (logger) ->
 		res.end = () ->
 			end.apply(this, arguments)
 			responseTime = new Date() - startTime
-			routePath = req.route.path.toString().replace(/\//g, '_').replace(/\:/g, '').slice(1)
-			key = "http-requests.#{routePath}.#{req.method}.#{res.statusCode}"
+			if req.route?.path?
+				routePath = req.route.path.toString().replace(/\//g, '_').replace(/\:/g, '').slice(1)
+				key = "http-requests.#{routePath}.#{req.method}.#{res.statusCode}"
 
-			Metrics.timing(key, responseTime)
-			logger.log
-				req:
-					url: req.originalUrl || req.url
-					method: req.method
-					referrer: req.headers['referer'] || req.headers['referrer']
-					"remote-addr": req.ip || req.socket?.socket?.remoteAddress || req.socket?.remoteAddress
-					"user-agent": req.headers["user-agent"]
-					"content-length": req.headers["content-length"]
-				res:
-					"content-length": res._headers?["content-length"]
-					statusCode: res.statusCode
-				"response-time": responseTime
-				"http request"
+				Metrics.timing(key, responseTime)
+				logger.log
+					req:
+						url: req.originalUrl || req.url
+						method: req.method
+						referrer: req.headers['referer'] || req.headers['referrer']
+						"remote-addr": req.ip || req.socket?.socket?.remoteAddress || req.socket?.remoteAddress
+						"user-agent": req.headers["user-agent"]
+						"content-length": req.headers["content-length"]
+					res:
+						"content-length": res._headers?["content-length"]
+						statusCode: res.statusCode
+					"response-time": responseTime
+					"http request"
+					
 		next()