diff --git a/index.js b/index.js index b1fb00a..154f267 100644 --- a/index.js +++ b/index.js @@ -2,20 +2,27 @@ const fp = require('fastify-plugin') const verifyBearerAuthFactory = require('./lib/verify-bearer-auth-factory') +const { FST_BEARER_AUTH_INVALID_LOG_LEVEL } = require('./lib/errors') function fastifyBearerAuth (fastify, options, done) { - const defaultLogLevel = 'error' - options = Object.assign({ addHook: true, verifyErrorLogLevel: defaultLogLevel }, options) + options = Object.assign({ addHook: true, verifyErrorLogLevel: 'error' }, options) - if (!Object.prototype.hasOwnProperty.call(fastify.log, 'error') || - (typeof fastify.log.error) !== 'function') options.verifyErrorLogLevel = null - if (options.verifyErrorLogLevel != null && - (typeof options.verifyErrorLogLevel !== 'string' || - !Object.prototype.hasOwnProperty.call(fastify.log, options.verifyErrorLogLevel) || - (typeof fastify.log[options.verifyErrorLogLevel]) !== 'function' - )) { - const invalidLogLevelError = Error(`fastify.log does not have level '${options.verifyErrorLogLevel}'`) - done(invalidLogLevelError) + if ( + Object.prototype.hasOwnProperty.call(fastify.log, 'error') === false || + typeof fastify.log.error !== 'function' + ) { + options.verifyErrorLogLevel = null + } + + if ( + options.verifyErrorLogLevel != null && + ( + typeof options.verifyErrorLogLevel !== 'string' || + Object.prototype.hasOwnProperty.call(fastify.log, options.verifyErrorLogLevel) === false || + typeof fastify.log[options.verifyErrorLogLevel] !== 'function' + ) + ) { + done(new FST_BEARER_AUTH_INVALID_LOG_LEVEL(options.verifyErrorLogLevel)) } if (options.addHook === true) { diff --git a/lib/errors.js b/lib/errors.js new file mode 100644 index 0000000..898b7e4 --- /dev/null +++ b/lib/errors.js @@ -0,0 +1,9 @@ +'use strict' + +const createError = require('@fastify/error') + +const FST_BEARER_AUTH_INVALID_LOG_LEVEL = createError('FST_BEARER_AUTH_INVALID_LOG_LEVEL', 'fastify.log does not have level \'%s\'') + +module.exports = { + FST_BEARER_AUTH_INVALID_LOG_LEVEL +} diff --git a/package.json b/package.json index 285ef61..7a49191 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "tsd": "^0.30.0" }, "dependencies": { + "@fastify/error": "^3.4.1", "fastify-plugin": "^4.0.0" }, "pre-commit": [