diff --git a/crates/openshell-sandbox/src/l7/rest.rs b/crates/openshell-sandbox/src/l7/rest.rs index 6d83195e..71d0d62c 100644 --- a/crates/openshell-sandbox/src/l7/rest.rs +++ b/crates/openshell-sandbox/src/l7/rest.rs @@ -53,7 +53,6 @@ impl L7Provider for RestProvider { /// Parse one HTTP/1.1 request from the stream. async fn parse_http_request(client: &mut C) -> Result> { let mut buf = Vec::with_capacity(4096); - let mut tmp = [0u8; 1024]; loop { if buf.len() > MAX_HEADER_BYTES { @@ -62,8 +61,11 @@ async fn parse_http_request(client: &mut C) -> Result n, + let n = match client.read_u8().await { + Ok(byte) => { + buf.push(byte); + 1 + } Err(e) if buf.is_empty() && is_benign_close(&e) => return Ok(None), Err(e) => return Err(miette::miette!("{e}")), }; @@ -76,10 +78,9 @@ async fn parse_http_request(client: &mut C) -> Result(client: &mut C) -> Result