Lines
0 %
Functions
Branches
100 %
use review_harvest::{server::create_app, server_config::ServerConfig};
use std::error::Error;
use std::path::Path;
fn read_config<P: AsRef<Path>>(config_file: P) -> Result<ServerConfig, Box<dyn Error>> {
let content = std::fs::read_to_string(config_file)?;
Ok(serde_json::from_str(&content)?)
}
#[tokio::main]
#[allow(dead_code)]
async fn main() -> Result<(), Box<dyn Error>> {
let mut args = std::env::args();
args.next();
let config_file = args
.next()
.unwrap_or_else(|| "server_config.json".to_string());
let config = read_config(&config_file)
.unwrap_or_else(|_| panic!("Could not read config {}.", config_file));
let app = create_app(config)?;
let listener = tokio::net::TcpListener::bind("0.0.0.0:8000").await.unwrap();
axum::serve(listener, app).await?;
Ok(())