use acldb::{Server, Error}; use std::env; use log::{info, error, LevelFilter}; #[actix_web::main] async fn main() -> Result<(), Error> { // Initialize logger env_logger::Builder::new() .filter_level(LevelFilter::Info) .init(); info!("Starting ACLDB server..."); // Parse command line arguments let args: Vec = env::args().collect(); let host = args.get(1).map_or("127.0.0.1".to_string(), |s| s.clone()); let port = args.get(2) .map_or(8080, |s| s.parse::().unwrap_or(8080)); // Create server configuration let config = acldb::server::ServerConfig { host, port, }; // Create and start server info!("Server listening on {}:{}", config.host, config.port); info!("API documentation available at http://{}:{}/redoc", config.host, config.port); let server = Server::new(config); // Start the server match server.start().await { Ok(_) => { info!("Server stopped"); Ok(()) } Err(e) => { error!("Server error: {}", e); Err(Error::IOError(e)) } } }