From 6e7600e9b3ced49f8f274fbfdffe8bbf39eabd8e Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 11 Sep 2025 06:24:53 +0000 Subject: refactor: Optimise allocations and string operations --- src/request/response.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/request') diff --git a/src/request/response.rs b/src/request/response.rs index a594b6e..0e4877f 100644 --- a/src/request/response.rs +++ b/src/request/response.rs @@ -35,16 +35,17 @@ impl Response { .position(|window| window == delimiter) .map_or(data.len(), |pos| pos + delimiter.len()); let header_bytes = &data[..header_end]; - let header = String::from_utf8_lossy(header_bytes).trim_end().to_string(); + let header_cow = String::from_utf8_lossy(header_bytes); + let header_trimmed = header_cow.trim_end(); let content_bytes = if header_end < data.len() { Some(data[header_end..].to_vec()) } else { None }; - let (status_string, meta_string) = if header.len() >= 2 { - header.split_at(2) + let (status_string, meta_string) = if header_trimmed.len() >= 2 { + header_trimmed.split_at(2) } else { - (header.as_str(), "") + (header_trimmed, "") }; let status_code = status_string.parse::().unwrap_or(0); -- cgit v1.2.3