Skip to content

Commit ec11180

Browse files
committed
refactor(header): improve integer conversion performance in HeaderValue
1 parent b9625d8 commit ec11180

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/header/value.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
use bytes::{Bytes, BytesMut};
1+
use bytes::Bytes;
22

33
use std::convert::TryFrom;
44
use std::error::Error;
5-
use std::fmt::Write;
65
use std::hash::{Hash, Hasher};
76
use std::str::FromStr;
87
use std::{cmp, fmt, str};
@@ -396,10 +395,10 @@ macro_rules! from_integers {
396395
($($name:ident: $t:ident => $max_len:expr),*) => {$(
397396
impl From<$t> for HeaderValue {
398397
fn from(num: $t) -> HeaderValue {
399-
let mut buf = BytesMut::with_capacity($max_len);
400-
let _ = buf.write_str(::itoa::Buffer::new().format(num));
398+
let mut buf = ::itoa::Buffer::new();
399+
let s = buf.format(num);
401400
HeaderValue {
402-
inner: buf.freeze(),
401+
inner: Bytes::copy_from_slice(s.as_bytes()),
403402
is_sensitive: false,
404403
}
405404
}

0 commit comments

Comments
 (0)