#![deny(warnings)] use hyper::server::Server; use listenfd::ListenFd; use std::convert::Infallible; use warp::Filter;
/// You'll need to install `systemfd` and `cargo-watch`: /// ``` /// cargo install systemfd cargo-watch /// ``` /// And run with: /// ``` /// systemfd --no-pid -s http::3030 -- cargo watch -x 'run --example autoreload' /// ``` #[tokio::main] asyncfn main() { // Match any request and return hello world! let routes = warp::any().map(|| "Hello, World!");
// hyper let's us build a server from a TcpListener (which will be // useful shortly). Thus, we'll need to convert our `warp::Filter` into // a `hyper::service::MakeService` for use with a `hyper::server::Server`. let svc = warp::service(routes);
let make_svc = hyper::service::make_service_fn(|_: _| { // the clone is there because not all warp filters impl Copy let svc = svc.clone(); asyncmove { Ok::<_, Infallible>(svc) }
});
letmut listenfd = ListenFd::from_env(); // if listenfd doesn't take a TcpListener (i.e. we're not running via // the command above), we fall back to explicitly binding to a given // host:port. let server = iflet Some(l) = listenfd.take_tcp_listener(0).unwrap() {
Server::from_tcp(l).unwrap()
} else {
Server::bind(&([127, 0, 0, 1], 3030).into())
};
server.serve(make_svc).await.unwrap();
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.17 Sekunden
(vorverarbeitet am 2026-06-19)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.