From f831f0b3863212f5a6ebb849b0202a43ac58840e Mon Sep 17 00:00:00 2001 From: RHM Date: Fri, 12 Sep 2025 13:33:08 +0200 Subject: [PATCH] fix weird backend bug --- backend/src/api.js | 5 ++++- backend/src/index.js | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/src/api.js b/backend/src/api.js index b6b4bb3..0daa28b 100644 --- a/backend/src/api.js +++ b/backend/src/api.js @@ -11,7 +11,10 @@ export class ApiError extends Error { } const router = Router(); -const asyncHandler = fn => (req, res, next) => Promise.resolve(fn(req, res, next)).catch(next); +const asyncHandler = fn => (req, res, next) => Promise.resolve(fn(req, res, next)).catch(err => { + res.error = err; + next(); +}); const userSchema = Joi.object({ username: Joi.string().min(3).max(32).required() diff --git a/backend/src/index.js b/backend/src/index.js index 94b2942..f90ca77 100644 --- a/backend/src/index.js +++ b/backend/src/index.js @@ -48,7 +48,8 @@ app.use("/api/docs", swaggerUi.serve, swaggerUi.setup(specs)); app.use("/api", apiRouter); // has to be last -app.use((err, _req, res) => { +app.use((_req, res, _next) => { + const err = res.error; if (err instanceof ApiError) { return res.status(err.status).json({ status: "error", error: err.message }); }