diff options
| author | Fuwn <[email protected]> | 2025-09-11 06:24:53 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-09-11 06:24:53 +0000 |
| commit | 6e7600e9b3ced49f8f274fbfdffe8bbf39eabd8e (patch) | |
| tree | ff195761d8b43bcc6318e26a3d56a918ec561732 /src/request/response.rs | |
| parent | fix(markdown): Optimise Markdown conversion (diff) | |
| download | germ-6e7600e9b3ced49f8f274fbfdffe8bbf39eabd8e.tar.xz germ-6e7600e9b3ced49f8f274fbfdffe8bbf39eabd8e.zip | |
refactor: Optimise allocations and string operations
Diffstat (limited to 'src/request/response.rs')
| -rw-r--r-- | src/request/response.rs | 9 |
1 files changed, 5 insertions, 4 deletions
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::<i32>().unwrap_or(0); |