use cached::proc_macro::cached; #[derive(Clone)] pub struct ConfigServer { pub(crate) host: String, pub(crate) port: u16, } #[cached] pub fn get_config_server() -> ConfigServer { dotenv::dotenv().ok(); let h = option_env!("HOST").unwrap_or("localhost").to_string(); let p = option_env!("PORT") .unwrap_or("8500") .parse::() .unwrap(); ConfigServer { host: h, port: p } }