Skip to content

Commit d988aca

Browse files
committed
Implement ToHeaderValues for more string types
1 parent 746f551 commit d988aca

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/headers/to_header_values.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use std::io;
22
use std::iter;
33
use std::option;
44
use std::slice;
5+
use std::borrow::Cow;
56

67
use crate::headers::{HeaderValue, HeaderValues, Values};
78

@@ -59,3 +60,25 @@ impl ToHeaderValues for String {
5960
Ok(Some(value).into_iter())
6061
}
6162
}
63+
64+
impl ToHeaderValues for &String {
65+
type Iter = option::IntoIter<HeaderValue>;
66+
67+
fn to_header_values(&self) -> crate::Result<Self::Iter> {
68+
let value = self
69+
.parse()
70+
.map_err(|err| io::Error::new(io::ErrorKind::Other, err))?;
71+
Ok(Some(value).into_iter())
72+
}
73+
}
74+
75+
impl ToHeaderValues for Cow<'_, str> {
76+
type Iter = option::IntoIter<HeaderValue>;
77+
78+
fn to_header_values(&self) -> crate::Result<Self::Iter> {
79+
let value = self
80+
.parse()
81+
.map_err(|err| io::Error::new(io::ErrorKind::Other, err))?;
82+
Ok(Some(value).into_iter())
83+
}
84+
}

0 commit comments

Comments
 (0)