diff --git a/src/config.rs b/src/config.rs index 25916b4..3ec3a16 100644 --- a/src/config.rs +++ b/src/config.rs @@ -2,8 +2,8 @@ use serde::Deserialize; #[derive(Deserialize, Clone)] pub struct Config { - pub scheme: String, - pub port: u16, + pub scheme: Option, + pub port: Option, pub mail: Option, pub lang: Option, } @@ -20,8 +20,8 @@ pub fn get_config(file_path: &str) -> Config { // No config file { Config { - scheme: "http".to_string(), - port: 8080, + scheme: None, + port: None, mail: None, lang: None, } diff --git a/src/main.rs b/src/main.rs index a63d8cb..5433de5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,8 +31,14 @@ mod portfolio; async fn main() -> io::Result<()> { let config = config::get_config("/config/config.toml"); - let addr = ("127.0.0.1", config.port); - println!("Listening to {}://{}:{}", config.scheme, addr.0, addr.1); + let addr = ("127.0.0.1", config.port.unwrap_or(8080)); + + println!( + "Listening to {}://{}:{}", + config.clone().scheme.unwrap_or("http".to_string()), + addr.0, + addr.1 + ); let static_folder = "static"; let dist_folder = format!("dist/{static_folder}");