UNPKG

moleculer-iam

Version:

Centralized IAM module for moleculer. Including a certified OIDC provider and an Identity provider for user profile, credentials, and custom claims management. Custom claims could be defined/updated by declarative schema which contains claims validation a

35 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logging = void 0; const tslib_1 = require("tslib"); const kleur = tslib_1.__importStar(require("kleur")); const _ = tslib_1.__importStar(require("lodash")); const koa_morgan_1 = tslib_1.__importDefault(require("koa-morgan")); koa_morgan_1.default.token("ip", req => { const forwarded = req.headers && req.headers["x-forwarded-for"]; if (forwarded) { if (typeof forwarded === "string") { return forwarded; } return forwarded[0]; } return req.connection && req.connection.remoteAddress || "-"; }); koa_morgan_1.default.token("statusMessage", (req, res) => { return res.statusMessage || "-"; }); function logging(logger, opts) { const { format, level, ...options } = _.defaultsDeep(opts || {}, { format: `:method :url HTTP/:http-version - :status :statusMessage :res[content-length] byte :response-time ms - ${kleur.dim(`":ip" ":referrer" ":user-agent"`)}`, level: "info", }); const write = (logger[level] || logger.info).bind(logger); return koa_morgan_1.default(format, { ...options, stream: { write, }, }); } exports.logging = logging; //# sourceMappingURL=logging.js.map