LCOV - code coverage report
Current view: top level - src - httpLogger.js (source / functions) Hit Total Coverage
Test: lcov.info Lines: 6 12 50.0 %
Date: 2024-07-30 12:54:47 Functions: 1 4 25.0 %

          Line data    Source code
       1             : // @ts-check
       2             : const
       3           1 :   _ = require('lodash'),
       4           1 :   morgan = require('morgan'),
       5           1 :   debug = require('debug')('http');
       6             : 
       7             : /**
       8             :  * @typedef {import('express').IRouter} IRouter
       9             :  */
      10             : 
      11           1 : const stream = {
      12           0 :   write: (/** @type {string} */ message) => debug(_.trim(message))
      13             : };
      14             : 
      15           1 : module.exports = {
      16             :   /**
      17             :    * @param {IRouter} app
      18             :    */
      19             :   register(app) {
      20           1 :     if (debug.enabled) {
      21           0 :       debug('http logger enabled');
      22           0 :       app.use(morgan(
      23             :         /* eslint-disable-next-line max-len */
      24             :         ':method :url :status :response-time ms - :res[content-length] bytes',
      25           0 :         { stream, skip: (req) => _.endsWith(req.path, '.websocket') }));
      26             : 
      27           0 :       app.use(morgan('WS :url',
      28             :         { stream, immediate: true,
      29           0 :           skip: (req) => !_.endsWith(req.path, '.websocket') }));
      30             :     }
      31             :   }
      32             : };

Generated by: LCOV version 1.16