Something went wrong. Try again.
A collection of utilities for the Daggerheart SRD katari.fyi
daggerheart ttrpg gleam api
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839import envoyimport gleam/erlang/processimport gleam/resultimport gleam/stringimport katari/sharedimport katari/web/routerimport mistimport wispimport wisp/wisp_mist
pub fn main() { wisp.configure_logger() let skb = wisp.random_string(64)
let api_docs = result.unwrap(envoy.get("KATARI_API_DOCS"), "False")
use api_docs <- result.try(string_to_bool(api_docs))
let data_dir = result.unwrap(envoy.get("KATARI_DATA_PATH"), "../data/") let assert Ok(data) = shared.from_path(data_dir <> "/core") as { "Failed to read data directory " <> data_dir }
let assert Ok(_) = wisp_mist.handler(router.handle_request(_, data, api_docs), skb) |> mist.new() |> mist.port(8080) |> mist.start()
Ok(process.sleep_forever())}
fn string_to_bool(string string: String) -> Result(Bool, Nil) { case string |> string.lowercase() { "true" -> Ok(True) "false" -> Ok(False) _ -> Error(Nil) }}