mod templates; use actix_web::{web, App, HttpRequest, HttpServer, Responder}; use perseus::{Html, PerseusApp}; #[cfg(not(target_arch = "wasm32"))] pub async fn dflt_server< M: perseus::stores::MutableStore + 'static, T: perseus::i18n::TranslationsManager + 'static, >( props: perseus::server::ServerProps, (host, port): (String, u16), ) { use perseus_actix_web::configurer; async fn greet(req: HttpRequest) -> impl Responder { let name = req.match_info().get("name").unwrap_or("World"); format!("Hello {}!", &name) } let cfg = App::new() .route("/", web::get().to(greet)) .route("/{name}", web::get().to(greet)) .configure(configurer(props).await); HttpServer::new(|| App::new()) .bind((host, port)) .expect("failed to start server") .run() .await .expect("end"); } #[perseus::main(dflt_server)] pub fn main() -> PerseusApp { PerseusApp::new().template(crate::templates::index::get_template) }