fix(database): handle errors in config parsin or database creation

Showing the user a backtrace can be pretty confusing, so just printing
a nice error message makes errors easier to understand for end users.

fixes #121
This commit is contained in:
Rasmus Thomsen
2021-09-07 19:41:14 +01:00
parent 0737bc021f
commit 51245d34f1
2 changed files with 22 additions and 6 deletions

View File

@@ -198,6 +198,11 @@ impl Database {
pub async fn load_or_create(config: &Config) -> Result<Arc<TokioRwLock<Self>>> {
Self::check_sled_or_sqlite_db(&config)?;
if !Path::new(&config.database_path).exists() {
std::fs::create_dir_all(&config.database_path)
.map_err(|_| Error::BadConfig("Database folder doesn't exists and couldn't be created (e.g. due to missing permissions). Please create the database folder yourself."))?;
}
let builder = Engine::open(&config)?;
if config.max_request_size < 1024 {