diff options
author | gennyble <gen@nyble.dev> | 2025-03-11 19:46:32 -0500 |
---|---|---|
committer | gennyble <gen@nyble.dev> | 2025-03-11 19:46:32 -0500 |
commit | dc6e61580411d07d966c6fe15f0f0e32e2c70e2e (patch) | |
tree | 897d49bc534a5d6552adf4ef00c3e4e91021c4af | |
parent | 37127e2ce52b3c9c34df4dc7038824b8bec111cf (diff) | |
download | corgi-dc6e61580411d07d966c6fe15f0f0e32e2c70e2e.tar.gz corgi-dc6e61580411d07d966c6fe15f0f0e32e2c70e2e.zip |
add a single log line
-rw-r--r-- | src/main.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index 396ba51..31a5e00 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ use std::{ net::{IpAddr, SocketAddr}, pin::Pin, + time::Instant, }; use confindent::Confindent; @@ -89,6 +90,8 @@ impl Svc { caddr: SocketAddr, req: Request<Incoming>, ) -> Response<Full<Bytes>> { + let start = Instant::now(); + // Collect things we need from the request before we eat it's body let method = req.method().as_str().to_ascii_uppercase(); let version = req.version(); @@ -106,8 +109,6 @@ impl Svc { forward.unwrap_or(x_forward.unwrap_or(caddr.ip())) }; - println!("new connection from: [{client_addr}]"); - let server_name = headers .get("Host") .expect("no http host header set") @@ -139,8 +140,9 @@ impl Svc { cmd.env(key.to_ascii_uppercase(), value); } + let start_cgi = Instant::now(); let cgi_response = Self::call_and_parse_cgi(cmd).await; - println!("called cgi!"); + let cgi_time = start_cgi.elapsed(); let status = StatusCode::from_u16(cgi_response.status).unwrap(); let mut response = Response::builder().status(status); @@ -149,6 +151,12 @@ impl Svc { response = response.header(key, value); } + println!( + "served to [{client_addr}]\n\tcgi took {}ms. total time {}ms", + cgi_time.as_millis(), + start.elapsed().as_millis() + ); + let response_body = cgi_response.body.map(|v| Bytes::from(v)).unwrap_or(Bytes::new()); response.body(Full::new(response_body)).unwrap() } |