Browse Source
Merge pull request #1212 from BlackDex/dotenv-warnings
Added error handling during dotenv loading
pull/1234/head
Daniel García
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
26 additions and
1 deletions
-
src/config.rs
|
|
@ -53,7 +53,32 @@ macro_rules! make_config { |
|
|
|
|
|
|
|
impl ConfigBuilder { |
|
|
|
fn from_env() -> Self { |
|
|
|
dotenv::from_path(".env").ok(); |
|
|
|
match dotenv::from_path(".env") { |
|
|
|
Ok(_) => (), |
|
|
|
Err(e) => match e { |
|
|
|
dotenv::Error::LineParse(msg, pos) => { |
|
|
|
panic!("Error loading the .env file:\nNear {:?} on position {}\nPlease fix and restart!\n", msg, pos); |
|
|
|
}, |
|
|
|
dotenv::Error::Io(ioerr) => match ioerr.kind() { |
|
|
|
std::io::ErrorKind::NotFound => { |
|
|
|
println!("[INFO] No .env file found.\n"); |
|
|
|
() |
|
|
|
}, |
|
|
|
std::io::ErrorKind::PermissionDenied => { |
|
|
|
println!("[WARNING] Permission Denied while trying to read the .env file!\n"); |
|
|
|
() |
|
|
|
}, |
|
|
|
_ => { |
|
|
|
println!("[WARNING] Reading the .env file failed:\n{:?}\n", ioerr); |
|
|
|
() |
|
|
|
} |
|
|
|
}, |
|
|
|
_ => { |
|
|
|
println!("[WARNING] Reading the .env file failed:\n{:?}\n", e); |
|
|
|
() |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
let mut builder = ConfigBuilder::default(); |
|
|
|
$($( |
|
|
|