Open
Description
Version
1.0.0-rc.3
Platform
Not relevant
Description
Can some of the examples for hyper 1.0.0 show how to make use of tower layers with hyper 1.0.0-rc.3?
All of the examples I can find online where people are using older versions of hyper with tower rely on the higher level Server API.
How do you use the lower level hyper 1.0.0 API like in https://hyper.rs/guides/1/server/hello-world/
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
// We create a TcpListener and bind it to 127.0.0.1:3000
let listener = TcpListener::bind(addr).await?;
// We start a loop to continuously accept incoming connections
loop {
let (stream, _) = listener.accept().await?;
// Spawn a tokio task to serve multiple connections concurrently
tokio::task::spawn(async move {
// Finally, we bind the incoming connection to our `hello` service
if let Err(err) = http1::Builder::new()
// `service_fn` converts our function in a `Service`
.serve_connection(stream, service_fn(hello))
.await
{
println!("Error serving connection: {:?}", err);
}
});
}
}
with tower layers?