pub struct Config { pub db_url: String, pub host: String, pub port: u32, pub prefork: bool, pub auth_secret: String, pub base_url: String, } impl Config { pub fn from_env() -> Config { Config { db_url: std::env::var("DATABASE_URL").expect("DATABASE_URL is not set in .env file"), host: std::env::var("HOST").expect("HOST is not set in .env file"), port: std::env::var("PORT") .expect("PORT is not set in .env file") .parse() .expect("PORT is not a number"), prefork: std::env::var("PREFORK").is_ok_and(|v| v == "1"), auth_secret: std::env::var("AUTH_SECRET").expect("AUTH_SECRET is not set in .env file"), base_url: std::env::var("BASE_URL").expect("BASE_URL is not set in .env file"), } } pub fn get_server_url(&self) -> String { format!("{}:{}", self.host, self.port) } }