File tree Expand file tree Collapse file tree 3 files changed +40
-2
lines changed Expand file tree Collapse file tree 3 files changed +40
-2
lines changed Original file line number Diff line number Diff line change 1
1
use std:: fmt:: { self , Display } ;
2
2
use std:: str:: FromStr ;
3
3
4
+ use crate :: headers:: HeaderValues ;
4
5
use crate :: Error ;
5
6
use crate :: { Cookie , Mime } ;
6
7
@@ -119,3 +120,9 @@ impl<'a> PartialEq<&String> for HeaderValue {
119
120
& & self . inner == other
120
121
}
121
122
}
123
+
124
+ impl From < HeaderValues > for HeaderValue {
125
+ fn from ( other : HeaderValues ) -> Self {
126
+ other[ 0 ]
127
+ }
128
+ }
Original file line number Diff line number Diff line change 1
1
use crate :: headers:: HeaderValue ;
2
2
use std:: fmt:: { self , Display } ;
3
3
use std:: iter:: FromIterator ;
4
- use std:: ops:: Index ;
4
+ use std:: ops:: { Deref , DerefMut , Index } ;
5
5
use std:: slice:: SliceIndex ;
6
6
7
7
/// A list of `HeaderValue`s.
@@ -87,3 +87,34 @@ impl<'a> PartialEq<&String> for HeaderValues {
87
87
& & self . inner [ 0 ] == other
88
88
}
89
89
}
90
+
91
+ impl From < HeaderValue > for HeaderValues {
92
+ fn from ( other : HeaderValue ) -> Self {
93
+ Self { inner : vec ! [ other] }
94
+ }
95
+ }
96
+
97
+ impl AsRef < HeaderValue > for HeaderValues {
98
+ fn as_ref ( & self ) -> & HeaderValue {
99
+ & self . inner [ 0 ]
100
+ }
101
+ }
102
+
103
+ impl AsMut < HeaderValue > for HeaderValues {
104
+ fn as_mut ( & mut self ) -> & mut HeaderValue {
105
+ & mut self . inner [ 0 ]
106
+ }
107
+ }
108
+ impl Deref for HeaderValues {
109
+ type Target = HeaderValue ;
110
+
111
+ fn deref ( & self ) -> & HeaderValue {
112
+ & self . inner [ 0 ]
113
+ }
114
+ }
115
+
116
+ impl DerefMut for HeaderValues {
117
+ fn deref_mut ( & mut self ) -> & mut HeaderValue {
118
+ & mut self . inner [ 0 ]
119
+ }
120
+ }
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ use std::iter::Iterator;
3
3
4
4
use crate :: headers:: { HeaderName , HeaderValue , HeaderValues } ;
5
5
6
- /// Iterator over the headers .
6
+ /// Iterator over the header values .
7
7
#[ derive( Debug ) ]
8
8
pub struct Values < ' a > {
9
9
pub ( super ) inner : hash_map:: Values < ' a , HeaderName , HeaderValues > ,
You can’t perform that action at this time.
0 commit comments