66 lines
1.9 KiB
TypeScript
Raw Normal View History

2023-05-19 15:22:48 -03:00
import express from "express";
2024-01-06 16:26:58 +01:00
import { unknownEndpointHandler } from "@/src/middleware/middleware";
import { requestLogger } from "@/src/middleware/morgenMiddleware";
2023-05-19 15:22:48 -03:00
import { apiRouter } from "@/src/routes/api";
//import { testRouter } from "@/src/routes/test";
import { cacheRouter } from "@/src/routes/cache";
import bodyParser from "body-parser";
2023-06-02 00:20:49 -03:00
import { steamPacksController } from "@/src/controllers/misc/steamPacksController";
import { customRouter } from "@/src/routes/custom";
import { dynamicController } from "@/src/routes/dynamic";
import { statsRouter } from "@/src/routes/stats";
2024-05-04 14:44:23 +02:00
import { webuiRouter } from "@/src/routes/webui";
2023-06-02 00:20:49 -03:00
import { connectDatabase } from "@/src/services/mongoService";
2024-01-06 16:26:58 +01:00
import { registerLogFileCreationListener } from "@/src/utils/logger";
2024-09-03 17:23:42 +03:00
import * as zlib from 'zlib';
2023-05-19 15:22:48 -03:00
2024-01-06 16:26:58 +01:00
void registerLogFileCreationListener();
2023-05-19 15:22:48 -03:00
void connectDatabase();
const app = express();
2024-09-03 17:23:42 +03:00
app.use(function (req, _res, next) {
var buffer: Buffer[] = []
req.on('data', function (chunk: Buffer) {
if (chunk !== undefined && chunk.length > 2 && chunk[0] == 0x1f && chunk[1] == 0x8b) {
buffer.push(Buffer.from(chunk));
}
});
req.on('end', function () {
zlib.gunzip(Buffer.concat(buffer), function (_err, dezipped) {
if (typeof dezipped != 'undefined') {
req.body = dezipped.toString('utf-8');
}
next();
});
});
});
2023-05-19 15:22:48 -03:00
app.use(bodyParser.raw());
app.use(express.json());
app.use(bodyParser.text());
2024-01-06 16:26:58 +01:00
app.use(requestLogger);
//app.use(requestLogger);
2023-05-19 15:22:48 -03:00
app.use("/api", apiRouter);
//app.use("/test", testRouter);
app.use("/", cacheRouter);
app.use("/custom", customRouter);
app.use("/:id/dynamic", dynamicController);
app.post("/pay/steamPacks.php", steamPacksController);
app.use("/stats", statsRouter);
2023-05-19 15:22:48 -03:00
2024-05-04 14:44:23 +02:00
app.use("/", webuiRouter);
2023-05-19 15:22:48 -03:00
app.use(unknownEndpointHandler);
//app.use(errorHandler)
export { app };