import express from "express"; import cors from "cors"; import dotenv from "dotenv"; import { testConnection } from "./database/db.js"; import router from "./routes/index.js"; import cookieParser from "cookie-parser"; import promBundle from "express-prom-bundle"; dotenv.config(); const app = express(); const metricsMiddleware = promBundle({ includeMethod: true, includePath: true, includeStatusCode: true, promClient: { collectDefaultMetrics: {}, }, }); app.use(metricsMiddleware); const corsOptions = { origin: `${process.env.CLIENT_URL}`, methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"], allowedHeaders: ["Content-Type", "Authorization"], credentials: true, }; app.use(cors(corsOptions)); app.use(cookieParser()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(router); app.use(express.static("public")); app.listen(process.env.APP_PORT, () => { testConnection(); console.log(`Server running on port ${process.env.APP_PORT}`); });