From 75bb74f5b3c4a8ee4ec370bce9dd03a7f3124442 Mon Sep 17 00:00:00 2001 From: Brandon Wolfgang Date: Wed, 21 Oct 2026 19:58:54 -0500 Subject: [PATCH] fix: standardize API responses for unknown routes - Add a centralized not-found handler returning a consistent 404 response - Assert the expected error payload for unknown endpoints --- src/server.test.ts | 4 ++++ src/server.ts | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/server.test.ts b/src/server.test.ts index 7317a2a..7aa6161 100644 --- a/src/server.test.ts +++ b/src/server.test.ts @@ -2,6 +2,7 @@ import assert from "node:assert"; import { after, describe, it } from "node:test"; import { buildApp } from "./server.js"; +import { setServers } from "node:dns"; describe("API endpoints", () => { const app = buildApp(); @@ -119,6 +120,9 @@ describe("API endpoints", () => { }); assert.equal(response.statusCode, 404); + assert.deepEqual(response.json(), { + error: "Not Found", + }); }); it("returns a generic 500 response for unexpected error", async () => { diff --git a/src/server.ts b/src/server.ts index 1f2df2b..7b74142 100644 --- a/src/server.ts +++ b/src/server.ts @@ -24,6 +24,12 @@ export const buildApp = () => { }); }); + app.setNotFoundHandler((_request, reply) => { + return reply.code(404).send({ + error: "Not Found", + }); + }); + app.get("/health", async () => ({ status: "ok", }));