move |conn: &hyper::server::conn::AddrStream| {
let global_ = global_.clone();
let caddr = Arc::new(format!("[{}]", conn.remote_addr()));
- async { Ok::<_, Void>(
- hyper::service::service_fn(move |req| {
- AssertUnwindSafe(
- sweb::handle(caddr.clone(), global_.clone(), req)
- )
- .catch_unwind()
- .map(|r| r.unwrap_or_else(|_|{
- crash(Err("panicked".into()), "webserver request task")
- }))
- })
- ) }
+
+ let service = hyper::service::service_fn(move |req| {
+ AssertUnwindSafe(
+ sweb::handle(caddr.clone(), global_.clone(), req)
+ )
+ .catch_unwind()
+ .map(|r| r.unwrap_or_else(|_|{
+ crash(Err("panicked".into()), "webserver request task")
+ }))
+ });
+ async { Ok::<_, Void>(service) }
}
);