From d17a86cdc80c165c1a7b88f064651f950919786d Mon Sep 17 00:00:00 2001 From: toridoriv Date: Tue, 10 Oct 2023 21:33:59 -0300 Subject: [PATCH] :sparkles: (server): Handle not found --- app/server/server.middlewares.ts | 6 +++++- app/server/server.module.ts | 1 + app/views/not-found.hbs | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 app/views/not-found.hbs diff --git a/app/server/server.middlewares.ts b/app/server/server.middlewares.ts index c3cf065..baf36b9 100644 --- a/app/server/server.middlewares.ts +++ b/app/server/server.middlewares.ts @@ -1,4 +1,4 @@ -import { difference, type express, expressHandlebars } from "@deps"; +import { difference, type express, expressHandlebars, Status } from "@deps"; import { retrieveHelpers } from "./server.utils.ts"; export function inspectRequest( @@ -27,6 +27,10 @@ export const handlebars = expressHandlebars.create({ helpers: await retrieveHelpers(), }); +export function handleNotFound(req: express.Request, res: express.Response) { + return res.status(Status.NotFound).render("not-found", { path: req.path }); +} + declare global { namespace Express { interface Request { diff --git a/app/server/server.module.ts b/app/server/server.module.ts index 59348cf..0bf4434 100644 --- a/app/server/server.module.ts +++ b/app/server/server.module.ts @@ -48,6 +48,7 @@ application.use(express.json()); application.use(AssetsRouter); application.use(WebpageRouter); application.use("/api", ApiRouter); +application.use(middleware.handleNotFound); await database.connect(); diff --git a/app/views/not-found.hbs b/app/views/not-found.hbs new file mode 100644 index 0000000..9ca844a --- /dev/null +++ b/app/views/not-found.hbs @@ -0,0 +1,2 @@ +

404

+

Oops! Page {{path}} not found

\ No newline at end of file