HomeDisk/core/src/main.rs

36 lines
818 B
Rust
Raw Normal View History

mod init;
use homedisk_database::Database;
2022-06-07 20:36:26 +00:00
use homedisk_server::run_http_server;
2022-04-19 19:10:36 +00:00
use homedisk_types::config::types::Config;
2022-04-16 18:19:38 +00:00
#[tokio::main]
2022-06-07 20:36:26 +00:00
async fn main() -> anyhow::Result<()> {
init::init()?;
2022-04-16 18:19:38 +00:00
2022-06-07 20:36:26 +00:00
// parse config
let config = Config::parse()?;
2022-04-16 19:22:01 +00:00
2022-06-07 20:36:26 +00:00
// open database connection
let db = Database::open("homedisk.db").await?;
// change the type from Vec<String> to Vec<HeaderValue> so that the http server can correctly detect CORS hosts
let origins = config
.http
.cors
.iter()
2022-06-07 20:36:26 +00:00
.map(|e| e.parse().expect("parse CORS hosts"))
.collect();
let host = format!(
"{host}:{port}",
host = config.http.host,
port = config.http.port
);
2022-06-07 20:36:26 +00:00
// start http server
run_http_server(host, origins, db, config).await?;
Ok(())
2022-04-16 18:19:38 +00:00
}