chore: add middleware for error handling

This commit is contained in:
Sainan 2025-01-03 08:43:54 +01:00
parent f1c0c5a429
commit 28926d1d30
2 changed files with 16 additions and 1 deletions

View File

@ -2,6 +2,7 @@ import express from "express";
import { unknownEndpointHandler } from "@/src/middleware/middleware";
import { requestLogger } from "@/src/middleware/morgenMiddleware";
import { errorHandler } from "@/src/middleware/errorHandler";
import { apiRouter } from "@/src/routes/api";
//import { testRouter } from "@/src/routes/test";
@ -20,7 +21,7 @@ app.use(bodyParser.raw());
app.use(express.json());
app.use(bodyParser.text());
app.use(requestLogger);
//app.use(requestLogger);
app.use(errorHandler);
app.use("/api", apiRouter);
//app.use("/test", testRouter);

View File

@ -0,0 +1,14 @@
import { NextFunction, Request, Response } from "express";
import { logger } from "../utils/logger";
export const errorHandler = (err: Error, req: Request, res: Response, _next: NextFunction): void => {
if (err.stack) {
const stackArr = err.stack.split("\n");
stackArr[0] += ` while processing ${req.path} request`;
logger.error(stackArr.join("\n"));
res.status(500).end();
} else {
logger.error(`uncaught error while processing ${req.path} request: ${err.message}`);
res.status(500).end();
}
};