use std::path::PathBuf; use serde::Deserialize; #[derive(Deserialize)] pub struct Config { #[serde(default = "default_data_dir")] pub data_dir: PathBuf, #[serde(default = "default_domain")] pub domain: String, #[serde(default = "default_port")] pub port: u16, #[serde(default = "default_session_cleanup_interval")] pub session_cleanup_interval: u64, } fn default_data_dir() -> PathBuf { PathBuf::from("./data") } fn default_domain() -> String { "127.0.0.1".to_string() } fn default_port() -> u16 { 8080 } fn default_session_cleanup_interval() -> u64 { // Default is once a day 60 * 60 * 24 }