http_server_tiny 0.2.1

HTTP SERVER
Documentation
use http_server_tiny::{route, HttpServer, Method, Res};
use std::{
    sync::{Arc, Mutex},
    thread,
};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut server = HttpServer::new("0.0.0.0:8000", "./static/error.html");
    route!(get_html => server, "/", "./static/index.html");
    route!(get_html => server,  "/", "./static/index.html");
    route!(get_js => server,  "/index.js", "./static/index.js");

    let server = Arc::new(Mutex::new(server));
    let mut handles = Vec::new();

    for _ in 0..4 {
        let server = server.clone();
        let handle = thread::spawn(move || {
            server
                .lock()
                .unwrap()
                .handle_requests(Box::new(|req_in| {
                    println!("INFO: {} '{}'\n", req_in.method, req_in.url);
                }))
                .unwrap();
        });

        handles.push(handle);
    }

    for handle in handles {
        handle.join().unwrap();
    }

    Ok(())
}