From dba4ae6ee7e468ab692c7a50dc9557ec3b879551 Mon Sep 17 00:00:00 2001 From: 0x676e67 Date: Mon, 30 Mar 2026 22:56:11 +0800 Subject: [PATCH] perf(header): optimize `HeaderValue` creation via zero-copy sharing --- src/hpack/header.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hpack/header.rs b/src/hpack/header.rs index fa467ac3..7b114aa8 100644 --- a/src/hpack/header.rs +++ b/src/hpack/header.rs @@ -96,7 +96,7 @@ impl Header { } else { // HTTP/2 requires lower case header names let name = HeaderName::from_lowercase(&name)?; - let value = HeaderValue::from_bytes(&value)?; + let value = HeaderValue::from_maybe_shared(value)?; Ok(Header::Field { name, value }) } @@ -231,7 +231,7 @@ impl<'a> Name<'a> { match self { Name::Field(name) => Ok(Header::Field { name: name.clone(), - value: HeaderValue::from_bytes(&value)?, + value: HeaderValue::from_maybe_shared(value)?, }), Name::Authority => Ok(Header::Authority(BytesStr::try_from(value)?)), Name::Method => Ok(Header::Method(Method::from_bytes(&value)?)),