@@ -36,6 +36,27 @@ use std::option;
36
36
use std:: slice;
37
37
38
38
/// Specify origins that are allowed to see values via the Resource Timing API.
39
+ ///
40
+ /// # Examples
41
+ ///
42
+ /// ```
43
+ /// # fn main() -> http_types::Result<()> {
44
+ /// #
45
+ /// use http_types::Response;
46
+ /// use http_types::trace::{AllowOrigin, Origin};
47
+ ///
48
+ /// let mut origins = AllowOrigin::new();
49
+ /// origins.push(Origin::Wildcard);
50
+ ///
51
+ /// let mut res = Response::new(200);
52
+ /// origins.apply(&mut res);
53
+ ///
54
+ /// let origins = AllowOrigin::from_headers(res)?.unwrap();
55
+ /// let origin = origins.iter().next().unwrap();
56
+ /// assert_eq!(origin, &Origin::Wildcard);
57
+ /// #
58
+ /// # Ok(()) }
59
+ /// ```
39
60
#[ derive( Clone , Eq , PartialEq ) ]
40
61
pub struct AllowOrigin {
41
62
origins : Vec < Origin > ,
@@ -60,7 +81,7 @@ impl AllowOrigin {
60
81
61
82
let mut origins = vec ! [ ] ;
62
83
for header in headers {
63
- for origin in header. as_str ( ) . split ( "," ) {
84
+ for origin in header. as_str ( ) . split ( ',' ) {
64
85
match origin. trim_start ( ) {
65
86
"*" => origins. push ( Origin :: Wildcard ) ,
66
87
r#""null""# => continue ,
@@ -105,13 +126,6 @@ impl AllowOrigin {
105
126
unsafe { HeaderValue :: from_bytes_unchecked ( output. into ( ) ) }
106
127
}
107
128
108
- /// An iterator visiting all server timings.
109
- pub fn into_iter ( self ) -> IntoIter {
110
- IntoIter {
111
- inner : self . origins . into_iter ( ) ,
112
- }
113
- }
114
-
115
129
/// An iterator visiting all server timings.
116
130
pub fn iter ( & self ) -> Iter < ' _ > {
117
131
Iter {
@@ -133,7 +147,9 @@ impl IntoIterator for AllowOrigin {
133
147
134
148
#[ inline]
135
149
fn into_iter ( self ) -> Self :: IntoIter {
136
- self . into_iter ( )
150
+ IntoIter {
151
+ inner : self . origins . into_iter ( ) ,
152
+ }
137
153
}
138
154
}
139
155
0 commit comments