Make .env optional
This commit is contained in:
+8
-2
@@ -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<Self, ConfigError> {
|
||||
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") {
|
||||
|
||||
Reference in New Issue
Block a user