pub mod handlers_arc; // use actix_web::{web, Responder}; use std::cell::Cell; #[derive(Clone)] struct AppState { count: Cell, } async fn show_count(data: web::Data) -> impl Responder { format!("count: {}", data.count.get()) } async fn add_one(data: web::Data) -> impl Responder { let count = data.count.get(); data.count.set(count + 1); format!("count: {}", data.count.get()) } #[actix_web::main] async fn main() -> std::io::Result<()> { use actix_web::{App, HttpServer}; let data = AppState { count: Cell::new(0), }; HttpServer::new(move || { App::new() .app_data(web::Data::new(data.clone())) .route("/", web::to(show_count)) .route("/add", web::to(add_one)) }) .bind(("127.0.0.1", 8080))? .run() .await } //