use std::sync::LazyLock; use tokio::time::Instant; static UPTIME: LazyLock = LazyLock::new(Instant::now); pub fn module(router: &mut windmark::router::Router) { UPTIME.elapsed(); crate::route::track_mount( router, "/uptime", "The uptime of Locus (A.K.A., The Locus Epoch). (\\?[s|ms|mu|ns]?)?", move |context| { let response = windmark::utilities::queries_from_url(&context.url) .get("unit") .map_or_else( || UPTIME.elapsed().as_nanos().to_string(), |query| { match query.as_str() { "secs" | "seconds" | "s" => UPTIME.elapsed().as_secs().to_string(), "milli" | "milliseconds" | "ms" => UPTIME.elapsed().as_millis().to_string(), "micro" | "microseconds" | "mu" => UPTIME.elapsed().as_micros().to_string(), _ => UPTIME.elapsed().as_nanos().to_string(), } }, ); windmark::response::Response::success(response) }, ); }