File size: 1,073 Bytes
fc69ace 137c62e 0d1213a 3060b01 137c62e 0d1213a fc69ace 15fc415 137c62e 0d1213a f94ac50 3060b01 137c62e 0d1213a 137c62e 15fc415 137c62e 15fc415 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
//! Main module of the application
//!
//! This module contains the main function which handles the logging of the application to the
//! stdout and handles the command line arguments provided and launches the `websurfx` server.
use std::net::TcpListener;
use env_logger::Env;
use websurfx::{config_parser::parser::Config, run};
/// The function that launches the main server and registers all the routes of the website.
///
/// # Error
///
/// Returns an error if the port is being used by something else on the system and is not
/// available for being used for other applications.
#[actix_web::main]
async fn main() -> std::io::Result<()> {
// Initialize the parsed config file.
let config = Config::parse().unwrap();
// Initializing logging middleware with level set to default or info.
env_logger::Builder::from_env(Env::default().default_filter_or("info")).init();
log::info!("started server on port {}", config.port);
let listener = TcpListener::bind((config.binding_ip_addr.clone(), config.port))?;
run(listener, config)?.await
}
|