| 12345678910111213141516171819202122232425262728293031323334 |
- import express from "express";
- import cors from "cors";
- import helmet from "helmet";
- import morgan from "morgan";
- import { config } from "./config/index.js";
- import { authMiddleware } from "./middleware/auth.js";
- import { rateLimitMiddleware } from "./middleware/rateLimit.js";
- import { errorHandler } from "./middleware/errorHandler.js";
- import { apiRouter } from "./routes/index.js";
- export function createApp() {
- const app = express();
- app.disable("x-powered-by");
- app.use(helmet());
- app.use(
- cors({
- origin: config.corsOrigin,
- credentials: true
- })
- );
- app.use(express.json({ limit: "10mb" }));
- app.use(morgan("dev"));
- app.get("/health", (_req, res) => {
- res.json({ ok: true });
- });
- app.use("/api", rateLimitMiddleware, authMiddleware, apiRouter);
- app.use(errorHandler);
- return app;
- }
|