From 66a166a34f153658578952bd8174cdd7a7c9698a Mon Sep 17 00:00:00 2001 From: Louis-Marie Michelin <lmichelin@outlook.fr> Date: Tue, 8 Jun 2021 16:35:25 +0200 Subject: [PATCH] fix: express error handling --- backend/server.js | 2 +- backend/services/jsonErrorHandler.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/server.js b/backend/server.js index db6ddb0..ded15b9 100644 --- a/backend/server.js +++ b/backend/server.js @@ -19,11 +19,11 @@ app.use(logger("dev")); app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: false })); -app.use(jsonErrorHandler); app.use("/", indexRouter); app.use("/users", usersRouter); app.use(routeNotFoundJsonHandler); +app.use(jsonErrorHandler); const port = parseInt(process.env.PORT || "3000"); diff --git a/backend/services/jsonErrorHandler.js b/backend/services/jsonErrorHandler.js index 31652c2..0a379a2 100644 --- a/backend/services/jsonErrorHandler.js +++ b/backend/services/jsonErrorHandler.js @@ -3,6 +3,9 @@ // that needs to have four arguments as opposed to a regular middleware. // eslint-disable-next-line no-unused-vars const jsonErrorHandler = function (error, req, res, next) { + console.error(error); + if (res.headersSent) return next(error); + if (process.env.NODE_ENV === "development") { return res.status(500).json({ message: error.toString(), -- GitLab