Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/logger / src / logHttpMiddleware.ts
Size: Mime:
import { isFunction } from 'exotic'
import { NextFunction, ExpressResponse, ExpressRequest } from './typings'
import { fromNodeHttpResponseToFetchResponse, fromReqToObj } from './logging'

export function logHttpMiddleware(req: ExpressRequest, res: ExpressResponse, next?: NextFunction) {
  const obj = fromReqToObj(req)
  req.log.info(obj)

  res.on('finish', () => {
    const serializedRes = fromNodeHttpResponseToFetchResponse(res)
    req.log.info('responded')
    req.log.info(serializedRes)
  })

  if (isFunction(next) === true) {
    next()
  }
}