File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ use std::io;
2
2
use std:: iter;
3
3
use std:: option;
4
4
use std:: slice;
5
+ use std:: borrow:: Cow ;
5
6
6
7
use crate :: headers:: { HeaderValue , HeaderValues , Values } ;
7
8
@@ -59,3 +60,25 @@ impl ToHeaderValues for String {
59
60
Ok ( Some ( value) . into_iter ( ) )
60
61
}
61
62
}
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
+ }
You can’t perform that action at this time.
0 commit comments