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)