use actix_web::{middleware, web, App, HttpRequest, HttpResponse, HttpServer};
#[actix_web::main]
async fn main() -> std::io::Result<()> {
env_logger::init_from_env(env_logger::Env::new().default_filter_or("info"));
log::info!("Starting HTTP server at http://0.0.0.0:8080.");
HttpServer::new(|| {
App::new()
.wrap(middleware::Logger::default())
.service(web::resource("/index.html").to(|| async { "Hello world!" }))
.service(web::resource("/").to(index))
.service(web::resource("/health").to(health_check_handler))
})
.bind(("0.0.0.0", 8080))?
.run()
.await
}
async fn index(req: HttpRequest) -> &'static str {
println!("REQ: {req:?}");
"Hello world!"
}
async fn health_check_handler() -> HttpResponse {
HttpResponse::Ok().json("Healthy!")
}
#[cfg(test)]
mod test;