From df941103ba66926b1d4f1d8398f1e1c4f8474b1f Mon Sep 17 00:00:00 2001 From: Lily Rose Date: Thu, 17 Jul 2025 18:59:57 +1000 Subject: [PATCH] Improve server env loading --- server/src/server.gleam | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/server/src/server.gleam b/server/src/server.gleam index 39dbafa..fbf1682 100644 --- a/server/src/server.gleam +++ b/server/src/server.gleam @@ -4,6 +4,7 @@ import gleam/erlang/process import gleam/http.{Get, Post} import gleam/int import gleam/json +import gleam/result import lustre/attribute import lustre/element import lustre/element/html @@ -16,16 +17,21 @@ import wisp/wisp_mist pub fn main() { wisp.configure_logger() - let secret_key_base = wisp.random_string(64) let assert Ok(priv_directory) = wisp.priv_directory("server") let static_directory = priv_directory <> "/static" - let assert Ok(port_str) = envoy.get("PORT") - let assert Ok(geofeed_path) = envoy.get("GEOFEED") - let assert Ok(port) = int.parse(port_str) + let geofeed_path = envoy.get("GEOFEED_PATH") |> result.unwrap("geofeed.csv") + let secret_key_base = + envoy.get("SECRET_KEY") |> result.unwrap(wisp.random_string(64)) + let bind_address = envoy.get("BIND_ADDRESS") |> result.unwrap("0.0.0.0") + let port = + envoy.get("PORT") + |> result.try(int.parse) + |> result.unwrap(8080) let assert Ok(_) = - handle_request(static_directory, geofeed_path, _) + handle_request(_, static_directory, geofeed_path) |> wisp_mist.handler(secret_key_base) |> mist.new + |> mist.bind(bind_address) |> mist.port(port) |> mist.start process.sleep_forever() @@ -45,9 +51,9 @@ fn app_middleware( } fn handle_request( + req: Request, static_directory: String, geofeed_path: String, - req: Request, ) -> Response { use req <- app_middleware(req, static_directory) case req.method, wisp.path_segments(req) {