UNPKG

request-log-starter

Version:

Request logging middleware for Nuxt 3 applications

109 lines (103 loc) 3.59 kB
'use strict'; var kit = require('@nuxt/kit'); var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null; // src/module.ts // ../../node_modules/defu/dist/defu.mjs function isPlainObject(value) { if (value === null || typeof value !== "object") { return false; } const prototype = Object.getPrototypeOf(value); if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) { return false; } if (Symbol.iterator in value) { return false; } if (Symbol.toStringTag in value) { return Object.prototype.toString.call(value) === "[object Module]"; } return true; } function _defu(baseObject, defaults, namespace = ".", merger) { if (!isPlainObject(defaults)) { return _defu(baseObject, {}, namespace, merger); } const object = Object.assign({}, defaults); for (const key in baseObject) { if (key === "__proto__" || key === "constructor") { continue; } const value = baseObject[key]; if (value === null || value === void 0) { continue; } if (merger && merger(object, key, value, namespace)) { continue; } if (Array.isArray(value) && Array.isArray(object[key])) { object[key] = [...value, ...object[key]]; } else if (isPlainObject(value) && isPlainObject(object[key])) { object[key] = _defu( value, object[key], (namespace ? `${namespace}.` : "") + key.toString(), merger ); } else { object[key] = value; } } return object; } function createDefu(merger) { return (...arguments_) => ( // eslint-disable-next-line unicorn/no-array-reduce arguments_.reduce((p, c) => _defu(p, c, "", merger), {}) ); } var defu = createDefu(); // src/module.ts var module_default = kit.defineNuxtModule({ meta: { name: "request-log-starter", configKey: "requestLog", compatibility: { nuxt: "^3.0.0" } }, defaults: { enabled: true, logBody: false, logHeaders: false, format: "json", maskHeaders: ["authorization", "cookie"] }, setup(options, nuxt) { const resolver = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))); nuxt.options.runtimeConfig.public.requestLog = defu(nuxt.options.runtimeConfig.public.requestLog || {}, options); kit.addServerHandler({ handler: resolver.resolve("./runtime/middleware"), middleware: true }); nuxt.hook("nitro:config", (nitroConfig) => { nitroConfig.externals = nitroConfig.externals || {}; nitroConfig.externals.inline = nitroConfig.externals.inline || []; nitroConfig.externals.inline.push(resolver.resolve("./runtime")); nitroConfig.runtimeConfig = nitroConfig.runtimeConfig || { app: {} }; nitroConfig.runtimeConfig.app = nitroConfig.runtimeConfig.app || {}; nitroConfig.runtimeConfig.app.requestLog = options; }); nuxt.hooks.hook("nitro:init", (nitro) => { nitro.options.handlers = nitro.options.handlers || []; nitro.options.devHandlers = nitro.options.devHandlers || []; nitro.options.appConfig = nitro.options.appConfig || {}; nitro.options.appConfig.requestLog = options; }); } }); // src/index.ts var index_default = module_default; module.exports = index_default; //# sourceMappingURL=index.cjs.map //# sourceMappingURL=index.cjs.map