diff --git a/{{project_name}}/src/main.rs b/{{project_name}}/src/main.rs index 48552e6..8e7eb17 100644 --- a/{{project_name}}/src/main.rs +++ b/{{project_name}}/src/main.rs @@ -1,6 +1,8 @@ use std::convert::Infallible; use hyper::service; use hyper::{Body, Request, Response, Server}; +use hyper::http::Method; +use hyper::body::HttpBody; async fn hello(request: Request) -> Result, Infallible> { let mut buff = String::with_capacity(1024); @@ -10,6 +12,8 @@ async fn hello(request: Request) -> Result, Infallible> { buff.push(' '); buff.push_str(&format!("{:?}", request.version().to_owned())); buff.push('\n'); + buff.push_str(&"=".repeat(88)); + buff.push('\n'); for header in request.headers() { buff.push_str(&header.0.to_string()); buff.push_str(": "); @@ -21,6 +25,19 @@ async fn hello(request: Request) -> Result, Infallible> { } buff.push('\n'); } + buff.push_str(&"=".repeat(88)); + buff.push('\n'); + if request.method() == Method::POST { + let mut request = request; + let body = request.body_mut().data().await; + match body { + None => buff.push_str(""), + Some(Err(e)) => buff.push_str(&format!("", e)), + Some(Ok(body)) => buff.push_str(&String::from_utf8_lossy(&*body)), + } + } + buff.push_str(&"=".repeat(88)); + buff.push('\n'); Ok(Response::new(Body::from(buff))) }