Make .env optional
This commit is contained in:
+8
-2
@@ -16,12 +16,18 @@ pub enum ConfigError {
|
|||||||
#[error("Parse error {0}")]
|
#[error("Parse error {0}")]
|
||||||
InvalidPort(#[from] ParseIntError),
|
InvalidPort(#[from] ParseIntError),
|
||||||
#[error("Unknown error: #{0}")]
|
#[error("Unknown error: #{0}")]
|
||||||
Unknown(anyhow::Error),
|
Unknown(#[from] anyhow::Error),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Config {
|
impl Config {
|
||||||
pub fn new() -> Result<Self, ConfigError> {
|
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 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 state_dir = env::var("STATE_DIR").map_or_else(|_| PathBuf::from("/tmp/"), PathBuf::from);
|
||||||
let port = match env::var("PORT") {
|
let port = match env::var("PORT") {
|
||||||
|
|||||||
Reference in New Issue
Block a user