use once_cell::sync::Lazy; use std::{env::var, error::Error, net::SocketAddr}; pub static CONFIG_INSTANCE: Lazy = Lazy::new(|| AppConfig::from_env().expect("Error loading config")); #[derive(Clone, Debug)] pub struct AppConfig { pub addr: SocketAddr, pub db_uri: String, } impl AppConfig { pub fn from_env() -> Result> { let new = Self { addr: var("TWINH_ADDR")?.parse()?, db_uri: var("TWINH_DB_URI")?, }; Ok(new) } }