diff --git a/src/config.rs b/src/config.rs deleted file mode 100644 index 2822bd4..0000000 --- a/src/config.rs +++ /dev/null @@ -1,36 +0,0 @@ -use serde::Deserialize; -use std::path::PathBuf; -use config::ConfigError; - -#[derive(Debug, Deserialize, Clone)] -pub struct ServerConfig { - pub port: u16, - pub log_path: PathBuf, - pub cluster_mode: bool, - pub redis_nodes: Vec, -} - -impl Default for ServerConfig { - fn default() -> Self { - Self { - port: 6379, - log_path: "futriix.log".into(), - cluster_mode: false, - redis_nodes: vec!["redis://127.0.0.1:6379".to_string()], - } - } -} - -impl ServerConfig { - pub fn load() -> Result { - let mut builder = config::Config::builder() - .set_default("port", 6379)? - .set_default("log_path", "futriix.log")? - .set_default("cluster_mode", false)? - .set_default("redis_nodes", vec!["redis://127.0.0.1:6379"])?; - - builder = builder.add_source(config::File::with_name("futriix").required(false)); - - builder.build()?.try_deserialize() - } -}