1 | var middleware = require('./middleware')
|
2 | var debug = require('debug')('httpism')
|
3 | var obfuscateUrlPassword = require('../obfuscateUrlPassword')
|
4 |
|
5 | module.exports = middleware('debugLog', function (request, next) {
|
6 | if (debug.enabled) {
|
7 | var startTime = Date.now()
|
8 | return next().then(function (response) {
|
9 | var headerTime = Date.now() - startTime
|
10 | response.body.on('end', function () {
|
11 | var bodyTime = Date.now() - startTime
|
12 | debug(request.method.toUpperCase() + ' ' + obfuscateUrlPassword(request.url) + ' => ' + response.statusCode + ' (' + headerTime + 'ms, ' + bodyTime + 'ms)')
|
13 | })
|
14 | return response
|
15 | }, function (error) {
|
16 | var headerTime = Date.now() - startTime
|
17 | debug(request.method.toUpperCase() + ' ' + obfuscateUrlPassword(request.url) + ' => ' + error.message + ' (' + headerTime + 'ms)')
|
18 | throw error
|
19 | })
|
20 | } else {
|
21 | return next()
|
22 | }
|
23 | })
|