Skip to content

Commit 69ee1bf

Browse files
caspervonbJarema
authored andcommitted
Implement From for HeaderValue on integer types
1 parent bfb8ea8 commit 69ee1bf

File tree

1 file changed

+64
-8
lines changed

1 file changed

+64
-8
lines changed

async-nats/src/header.rs

Lines changed: 64 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,17 +243,51 @@ impl AsRef<str> for HeaderValue {
243243
}
244244
}
245245

246-
impl FromStr for HeaderValue {
247-
type Err = ParseHeaderValueError;
246+
impl From<i16> for HeaderValue {
247+
fn from(v: i16) -> Self {
248+
Self {
249+
inner: v.to_string(),
250+
}
251+
}
252+
}
248253

249-
fn from_str(s: &str) -> Result<Self, Self::Err> {
250-
if s.contains(['\r', '\n']) {
251-
return Err(ParseHeaderValueError);
254+
impl From<i32> for HeaderValue {
255+
fn from(v: i32) -> Self {
256+
Self {
257+
inner: v.to_string(),
252258
}
259+
}
260+
}
253261

254-
Ok(HeaderValue {
255-
inner: s.to_string(),
256-
})
262+
impl From<i64> for HeaderValue {
263+
fn from(v: i64) -> Self {
264+
Self {
265+
inner: v.to_string(),
266+
}
267+
}
268+
}
269+
270+
impl From<isize> for HeaderValue {
271+
fn from(v: isize) -> Self {
272+
Self {
273+
inner: v.to_string(),
274+
}
275+
}
276+
}
277+
278+
impl From<u16> for HeaderValue {
279+
fn from(v: u16) -> Self {
280+
Self {
281+
inner: v.to_string(),
282+
}
283+
}
284+
}
285+
286+
impl From<u32> for HeaderValue {
287+
fn from(v: u32) -> Self {
288+
Self {
289+
inner: v.to_string(),
290+
}
257291
}
258292
}
259293

@@ -265,6 +299,28 @@ impl From<u64> for HeaderValue {
265299
}
266300
}
267301

302+
impl From<usize> for HeaderValue {
303+
fn from(v: usize) -> Self {
304+
Self {
305+
inner: v.to_string(),
306+
}
307+
}
308+
}
309+
310+
impl FromStr for HeaderValue {
311+
type Err = ParseHeaderValueError;
312+
313+
fn from_str(s: &str) -> Result<Self, Self::Err> {
314+
if s.contains(['\r', '\n']) {
315+
return Err(ParseHeaderValueError);
316+
}
317+
318+
Ok(HeaderValue {
319+
inner: s.to_string(),
320+
})
321+
}
322+
}
323+
268324
impl From<&str> for HeaderValue {
269325
fn from(v: &str) -> Self {
270326
Self {

0 commit comments

Comments
 (0)