From c00144659d6ad4fd32c3f7448db548837db3a1f4 Mon Sep 17 00:00:00 2001 From: Rafa Lopes Date: Mon, 22 Jul 2024 10:41:46 +0100 Subject: [PATCH] minor fixes --- backend/src/server.ts | 52 +++++-------------------------------------- 1 file changed, 6 insertions(+), 46 deletions(-) diff --git a/backend/src/server.ts b/backend/src/server.ts index 21ae831..9b0d85c 100644 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -1,14 +1,12 @@ import cookieParser from "cookie-parser"; import cors from "cors"; -import express, { NextFunction, Request, Response } from "express"; +import express from "express"; import morgan from "morgan"; import HTTPCodes from "simple-http-codes"; +import generalErrorHandlerMiddleware from "./routes/middleware/generalErrorHandler.middleware"; +import singleImageParser from "./routes/middleware/singleImageParser.middleware"; import timeoutMiddleware from "./routes/middleware/timeout.middleware"; import router from "./routes/router"; -import HttpError from "../../shared/types/HttpError/HttpError.type"; -import { inspect } from "node:util"; -import singleImageParser from "./routes/middleware/singleImageParser.middleware"; -import { MulterError } from "multer"; const server = express(); server.use(morgan("dev")); @@ -18,14 +16,14 @@ server.use( cors({ origin: "http://localhost:5173", credentials: true, - }) + }) ); server.use(cookieParser()); server.use(singleImageParser); server.use(express.json()); -//====== ROUTES +//====== ROUTES server.get("/health", (_, res) => { res.status(HTTPCodes.ClientError.IM_A_TEAPOT).json({ data: "Server is running, but refused to brew coffee with a teapot", @@ -34,45 +32,7 @@ server.get("/health", (_, res) => { server.use(router); -//====== ERROR HANDLING - -server.use( - (error: Error, _req: Request, res: Response, _next: NextFunction) => { - if (error instanceof HttpError) { - error.log(); - return res.status(error.statusCode).json({ - ...error, - data: inspect(error.message, { depth: null }), - }); - } - - if (error instanceof MulterError) { - console.error(inspect(error, { depth: null })); - if (error.code === "LIMIT_UNEXPECTED_FILE") - return res - .status(HTTPCodes.ClientError.BAD_REQUEST) - .json({ data: "Unsupported file" }); - else if (error.code === "LIMIT_FILE_SIZE") { - return res - .status(HTTPCodes.ClientError.BAD_REQUEST) - .json({ data: "File too big" }); - } else { - return res - .status(HTTPCodes.ClientError.BAD_REQUEST) - .json({ data: "Unsupported Request" }); - } - } - - console.error(error); - - return res.status(500).json({ - data: "Unexpected Server Error, please contact development team", - error, - }); - - _next(); //just so that eslint doesn't complain...its a very specific scenario, don't blame me - } -); +server.use(generalErrorHandlerMiddleware); server.use("*", (_, res) => { res.status(HTTPCodes.ServerError.NOT_IMPLEMENTED).json({