From feecb1cbf10bb020cf12b548d279bad68016b2ea Mon Sep 17 00:00:00 2001 From: Gavin Morrow Date: Sat, 28 Mar 2026 11:15:04 -0400 Subject: [PATCH] Add health route --- server/priv/service-worker.js | 3 ++- server/src/subway_gleam/server.gleam | 1 + server/src/subway_gleam/server/route.gleam | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/server/priv/service-worker.js b/server/priv/service-worker.js index 5b1bf11..a251df5 100644 --- a/server/priv/service-worker.js +++ b/server/priv/service-worker.js @@ -35,7 +35,8 @@ self.addEventListener("fetch", (event) => { const disallowsCache = url.pathname.includes("model_stream") || - url.pathname === "/static/service-worker.js"; + url.pathname === "/static/service-worker.js" || + url.pathname === "/health/"; if (!allowsCache || disallowsCache) return; diff --git a/server/src/subway_gleam/server.gleam b/server/src/subway_gleam/server.gleam index ea95a62..5a7def2 100644 --- a/server/src/subway_gleam/server.gleam +++ b/server/src/subway_gleam/server.gleam @@ -183,6 +183,7 @@ fn handler(state: state.Ref, req: wisp.Request) -> wisp.Response { case wisp.path_segments(req) { [] -> route.index(req) + ["health"] -> route.health(req) ["map"] -> route.map(req) ["stops"] -> case env.profile_pages() |> list.contains("stops") { diff --git a/server/src/subway_gleam/server/route.gleam b/server/src/subway_gleam/server/route.gleam index eb7518a..8333f1e 100644 --- a/server/src/subway_gleam/server/route.gleam +++ b/server/src/subway_gleam/server/route.gleam @@ -30,6 +30,12 @@ pub fn index(req: wisp.Request) -> wisp.Response { #(Body(body:), res) } +pub fn health(_req: wisp.Request) -> wisp.Response { + wisp.ok() + |> wisp.set_header("cache-control", "no-cache") + |> wisp.set_body(wisp.Text("200 OK")) +} + pub fn not_found(req: wisp.Request) -> wisp.Response { use _req <- lustre_res(req) -- 2.51.2