Comparing version 4.0.3 to 4.0.4
113
index.js
@@ -5,2 +5,3 @@ 'use strict' | ||
const pino = require('pino') | ||
const { stdSerializers } = pino | ||
const nullLogger = require('abstract-logging') | ||
@@ -22,4 +23,4 @@ | ||
options.serializers = options.serializers || {} | ||
options.serializers.req = wrapReqSerializer(options.serializers.req || asReqValue) | ||
options.serializers.res = wrapResSerializer(options.serializers.res || asResValue) | ||
options.serializers.req = stdSerializers.wrapRequestSerializer(options.serializers.req || stdSerializers.req) | ||
options.serializers.res = stdSerializers.wrapResponseSerializer(options.serializers.res || stdSerializers.res) | ||
options.serializers.err = options.serializers.err || pino.stdSerializers.err | ||
@@ -180,110 +181,2 @@ | ||
var rawSymbol = Symbol.for('hapi-pino-raw-ref') | ||
var pinoReqProto = Object.create({}, { | ||
id: { | ||
enumerable: true, | ||
writable: true, | ||
value: '' | ||
}, | ||
method: { | ||
enumerable: true, | ||
writable: true, | ||
value: '' | ||
}, | ||
url: { | ||
enumerable: true, | ||
writable: true, | ||
value: '' | ||
}, | ||
headers: { | ||
enumerable: true, | ||
writable: true, | ||
value: {} | ||
}, | ||
remoteAddress: { | ||
enumerable: true, | ||
writable: true, | ||
value: '' | ||
}, | ||
remotePort: { | ||
enumerable: true, | ||
writable: true, | ||
value: '' | ||
}, | ||
raw: { | ||
enumerable: false, | ||
get: function () { | ||
return this[rawSymbol] | ||
}, | ||
set: function (val) { | ||
this[rawSymbol] = val | ||
} | ||
} | ||
}) | ||
Object.defineProperty(pinoReqProto, rawSymbol, { | ||
writable: true, | ||
value: {} | ||
}) | ||
function wrapReqSerializer (serializer) { | ||
if (serializer === asReqValue) return asReqValue | ||
return function wrappedReqSerializer (req) { | ||
return serializer(asReqValue(req)) | ||
} | ||
} | ||
function asReqValue (req) { | ||
const raw = req.raw.req | ||
const _req = Object.create(pinoReqProto) | ||
_req.id = req.info.id | ||
_req.method = raw.method | ||
_req.url = raw.url | ||
_req.headers = raw.headers | ||
_req.remoteAddress = raw.connection && raw.connection.remoteAddress | ||
_req.remotePort = raw.connection && raw.connection.remotePort | ||
_req.raw = req.raw | ||
return _req | ||
} | ||
var pinoResProto = Object.create({}, { | ||
statusCode: { | ||
enumerable: true, | ||
writable: true, | ||
value: 0 | ||
}, | ||
header: { | ||
enumerable: true, | ||
writable: true, | ||
value: '' | ||
}, | ||
raw: { | ||
enumerable: false, | ||
get: function () { | ||
return this[rawSymbol] | ||
}, | ||
set: function (val) { | ||
this[rawSymbol] = val | ||
} | ||
} | ||
}) | ||
Object.defineProperty(pinoResProto, rawSymbol, { | ||
writable: true, | ||
value: {} | ||
}) | ||
function asResValue (res) { | ||
const _res = Object.create(pinoResProto) | ||
_res.statusCode = res.statusCode | ||
_res.header = res._header | ||
_res.raw = res | ||
return _res | ||
} | ||
function wrapResSerializer (serializer) { | ||
if (serializer === asResValue) return asResValue | ||
return function wrappedResSerializer (res) { | ||
return serializer(asResValue(res)) | ||
} | ||
} | ||
module.exports = { | ||
@@ -290,0 +183,0 @@ register, |
{ | ||
"name": "hapi-pino", | ||
"version": "4.0.3", | ||
"version": "4.0.4", | ||
"description": "Hapi plugin for the Pino logger ", | ||
@@ -34,3 +34,3 @@ "main": "index.js", | ||
"hoek": "^5.0.2", | ||
"pino": "^4.10.3" | ||
"pino": "^4.15.3" | ||
}, | ||
@@ -37,0 +37,0 @@ "repository": { |
39619
1225
Updatedpino@^4.15.3