chore: add middleware for error handling
This commit is contained in:
parent
f1c0c5a429
commit
28926d1d30
@ -2,6 +2,7 @@ import express from "express";
|
|||||||
|
|
||||||
import { unknownEndpointHandler } from "@/src/middleware/middleware";
|
import { unknownEndpointHandler } from "@/src/middleware/middleware";
|
||||||
import { requestLogger } from "@/src/middleware/morgenMiddleware";
|
import { requestLogger } from "@/src/middleware/morgenMiddleware";
|
||||||
|
import { errorHandler } from "@/src/middleware/errorHandler";
|
||||||
|
|
||||||
import { apiRouter } from "@/src/routes/api";
|
import { apiRouter } from "@/src/routes/api";
|
||||||
//import { testRouter } from "@/src/routes/test";
|
//import { testRouter } from "@/src/routes/test";
|
||||||
@ -20,7 +21,7 @@ app.use(bodyParser.raw());
|
|||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
app.use(bodyParser.text());
|
app.use(bodyParser.text());
|
||||||
app.use(requestLogger);
|
app.use(requestLogger);
|
||||||
//app.use(requestLogger);
|
app.use(errorHandler);
|
||||||
|
|
||||||
app.use("/api", apiRouter);
|
app.use("/api", apiRouter);
|
||||||
//app.use("/test", testRouter);
|
//app.use("/test", testRouter);
|
||||||
|
14
src/middleware/errorHandler.ts
Normal file
14
src/middleware/errorHandler.ts
Normal 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();
|
||||||
|
}
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user