chiark / gitweb /
server: wip
[hippotat.git] / src / bin / server.rs
index d0d7c840ef3d411a284ccd45152f61d59eae3139..1c8a64cd49622ec38f72880122125fb045cbd7bb 100644 (file)
@@ -29,7 +29,7 @@ struct WebRequest {
 async fn handle(
   _all_clients: Arc<AllClients>,
   req: hyper::Request<hyper::Body>
-) -> Result<hyper::Response<hyper::Body>, Infallible> {
+) -> Result<hyper::Response<hyper::Body>, Void> {
   if req.method() == Method::GET {
     let mut resp = hyper::Response::new(hyper::Body::from("hippotat\r\n"));
     resp.headers_mut().insert(
@@ -94,8 +94,7 @@ async fn handle(
     let client = &comp.payload_start[0..nl];
     let client = str::from_utf8(client).context("client addr utf-8")?;
     let client: IpAddr = client.parse().context("client address")?;
-
-    
+// let client = all_clients.get(&client).ok_or_else(|| anyhow!(BAD_CLIENT))?;
 
     eprintln!("boundary={:?} start={} name={:?} client={}",
               boundary, start, &comp.name, client);
@@ -158,16 +157,11 @@ async fn main() {
 
     for addr in &global.addrs {
       let all_clients_ = all_clients.clone();
-      let make_service = hyper::service::make_service_fn(
-        move |_conn| {
-          let all_clients_ = all_clients_.clone();
-          async {
-            Ok::<_, Void>(hyper::service::service_fn(move |req| {
-              let all_clients_ = all_clients_.clone();
-              handle(all_clients_, req)
-            }))
-          }
-        }
+      let make_service = hyper::service::make_service_fn(move |_conn| {
+        let all_clients_ = all_clients_.clone();
+        async { Ok::<_, Void>( hyper::service::service_fn(move |req| {
+          handle(all_clients_.clone(), req)
+        }) ) } }
       );
 
       let addr = SocketAddr::new(*addr, global.port);