Skip to content

Commit 46eaf47

Browse files
committed
&HeaderValues implements ToHeaderValues
one of the surf examples included lines like this: ``` for (name, value) in &req { new_req.insert_header(name.clone(), &value[..]); } ``` and it seemed like it would be nice to do ``` for (name, value) in &req { new_req.insert_header(name, value); } ```
1 parent aeb1fb4 commit 46eaf47

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/headers/to_header_values.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::iter;
33
use std::option;
44
use std::slice;
55

6-
use crate::headers::HeaderValue;
6+
use crate::headers::{HeaderValue, HeaderValues, Values};
77

88
/// A trait for objects which can be converted or resolved to one or more `HeaderValue`s.
99
pub trait ToHeaderValues {
@@ -22,6 +22,14 @@ impl ToHeaderValues for HeaderValue {
2222
}
2323
}
2424

25+
impl<'a> ToHeaderValues for &'a HeaderValues {
26+
type Iter = iter::Cloned<Values<'a>>;
27+
28+
fn to_header_values(&self) -> crate::Result<Self::Iter> {
29+
Ok(self.iter().cloned())
30+
}
31+
}
32+
2533
impl<'a> ToHeaderValues for &'a [HeaderValue] {
2634
type Iter = iter::Cloned<slice::Iter<'a, HeaderValue>>;
2735

0 commit comments

Comments
 (0)