This commit is contained in:
2026-03-28 02:53:32 -04:00
commit 0d16742a67
51 changed files with 2818 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
use std::convert::Infallible;
use std::net::SocketAddr;
use hyper::body::Bytes;
use http_body_util::Full;
use hyper::server::conn::http1;
use hyper::service::service_fn;
use hyper::{Request, Response};
use hyper_util::rt::TokioIo;
use tokio::net::TcpListener;
async fn hello(_: Request<hyper::body::Incoming>) -> Result<Response<Full<Bytes>>, Infallible> {
Ok(Response::new(Full::new(Bytes::from("Hello, World!"))))
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let addr = SocketAddr::from(([127, 0, 0, 1], 3002));
let listener = TcpListener::bind(addr).await?;
println!("Hyper listening on http://127.0.0.1:3002");
loop {
let (stream, _) = listener.accept().await?;
let io = TokioIo::new(stream);
tokio::task::spawn(async move {
if let Err(err) = http1::Builder::new()
.serve_connection(io, service_fn(hello))
.await
{
eprintln!("Error serving connection: {:?}", err);
}
});
}
}