@sastatesla/payment-gateway-sdk
Version:
A unified interface for integrating multiple payment providers (e.g., Razorpay, Cashfree) in your Node.js application.
32 lines • 1.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const morgan_1 = __importDefault(require("morgan"));
const config_1 = __importDefault(require("./config"));
const logging_1 = __importDefault(require("../utils/logging"));
// Add custom token for optional error messages
morgan_1.default.token("message", (req, res) => res.locals.errorMessage || "");
// Choose IP format for production/dev
const getIpFormat = () => (config_1.default.env === "production" ? ":remote-addr - " : "");
// Define formats
const successFormat = `${getIpFormat()}:method :url :status - :response-time ms`;
const errorFormat = `${getIpFormat()}:method :url :status - :response-time ms - message: :message`;
const successHandler = (0, morgan_1.default)(successFormat, {
skip: (req, res) => res.statusCode >= 400,
stream: {
write: (message) => logging_1.default.emit("logging", message.trim())
}
});
const errorHandler = (0, morgan_1.default)(errorFormat, {
skip: (req, res) => res.statusCode < 400,
stream: {
write: (message) => logging_1.default.emit("logging", message.trim())
}
});
exports.default = {
successHandler,
errorHandler
};
//# sourceMappingURL=morgan.js.map