diff --git a/src/config.rs b/src/config.rs index 6b7818f..1ccc1db 100644 --- a/src/config.rs +++ b/src/config.rs @@ -16,12 +16,18 @@ pub enum ConfigError { #[error("Parse error {0}")] InvalidPort(#[from] ParseIntError), #[error("Unknown error: #{0}")] - Unknown(anyhow::Error), + Unknown(#[from] anyhow::Error), } impl Config { pub fn new() -> Result { - dotenvy::dotenv().map_err(|err| ConfigError::Unknown(err.into()))?; + // dotenvy::dotenv().map_err(|err| ConfigError::Unknown(err.into()))?; + match dotenvy::dotenv() { + Ok(_) => Ok(()), + Err(err) => { + if err.not_found() { Ok(()) } else { Err(ConfigError::Unknown(err.into())) } + } + }?; //.map_err(|err| ConfigError::Unknown(err.into()))?; let server_secret = env::var("SERVER_SECRET").map(SecretString::from).map_err(|_| ConfigError::MissingServerSecret)?; let state_dir = env::var("STATE_DIR").map_or_else(|_| PathBuf::from("/tmp/"), PathBuf::from); let port = match env::var("PORT") {