use actix_web::{dev::Server, web, App, HttpResponse, HttpServer}; use std::net::TcpListener; async fn health_check() -> HttpResponse { HttpResponse::Ok().finish() } #[derive(serde::Deserialize)] struct FormData { email: String, name: String, } async fn subscribe(_form: web::Form) -> HttpResponse { HttpResponse::Ok().finish() } pub fn run(listener: TcpListener) -> Result { let server = HttpServer::new(|| { App::new() .route("/health_check", web::get().to(health_check)) .route("/subscriptions", web::post().to(subscribe)) }) .listen(listener)? .run(); Ok(server) }