mirror of
https://github.com/ViViDboarder/bitwarden_rs.git
synced 2024-11-25 06:36:37 +00:00
Added error handling during dotenv loading
Some issue people report are because of misconfiguration or bad .env files. To mittigate this i added error handling for this. - Panic/Quit on a LineParse error, which indicates bad .env file format. - Emits a info message when there is no .env file found. - Emits a warning message when there is a .env file, but not no permissions. - Emits a warning on every other message not specifically catched.
This commit is contained in:
parent
e25fc7083d
commit
d11d663c5c
@ -53,7 +53,32 @@ macro_rules! make_config {
|
|||||||
|
|
||||||
impl ConfigBuilder {
|
impl ConfigBuilder {
|
||||||
fn from_env() -> Self {
|
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();
|
let mut builder = ConfigBuilder::default();
|
||||||
$($(
|
$($(
|
||||||
|
Loading…
Reference in New Issue
Block a user