14
14
//! let mut res = Response::new(200);
15
15
//! timings.apply(&mut res);
16
16
//!
17
- //! let timings = ServerTiming::from_headers(res)? ;
17
+ //! let timings = ServerTiming::from_headers(res).unwrap() ;
18
18
//! let entry = timings.iter().next().unwrap();
19
19
//! assert_eq!(entry.name(), "server");
20
20
//! #
@@ -56,7 +56,7 @@ use crate::headers::{HeaderName, HeaderValue, Headers, ToHeaderValues, SERVER_TI
56
56
/// let mut res = Response::new(200);
57
57
/// timings.apply(&mut res);
58
58
///
59
- /// let timings = ServerTiming::from_headers(res)? ;
59
+ /// let timings = ServerTiming::from_headers(res).unwrap() ;
60
60
/// let entry = timings.iter().next().unwrap();
61
61
/// assert_eq!(entry.name(), "server");
62
62
/// #
@@ -74,13 +74,12 @@ impl ServerTiming {
74
74
}
75
75
76
76
/// Create a new instance from headers.
77
- pub fn from_headers ( headers : impl AsRef < Headers > ) -> crate :: Result < Self > {
77
+ pub fn from_headers ( headers : impl AsRef < Headers > ) -> Option < Self > {
78
78
let mut timings = vec ! [ ] ;
79
- let values = headers. as_ref ( ) . get ( SERVER_TIMING ) ;
80
- for value in values. iter ( ) . map ( |h| h. iter ( ) ) . flatten ( ) {
81
- parse_header ( value. as_str ( ) , & mut timings) ?;
79
+ for value in headers. as_ref ( ) . get ( SERVER_TIMING ) ? {
80
+ parse_header ( value. as_str ( ) , & mut timings) . ok ( ) ?;
82
81
}
83
- Ok ( Self { timings } )
82
+ Some ( Self { timings } )
84
83
}
85
84
86
85
/// Sets the `Server-Timing` header.
@@ -241,7 +240,7 @@ mod test {
241
240
let mut headers = Headers :: new ( ) ;
242
241
timings. apply ( & mut headers) ;
243
242
244
- let timings = ServerTiming :: from_headers ( headers) ? ;
243
+ let timings = ServerTiming :: from_headers ( headers) . unwrap ( ) ;
245
244
let entry = timings. iter ( ) . next ( ) . unwrap ( ) ;
246
245
assert_eq ! ( entry. name( ) , "server" ) ;
247
246
Ok ( ( ) )
@@ -255,7 +254,7 @@ mod test {
255
254
let mut headers = Headers :: new ( ) ;
256
255
timings. apply ( & mut headers) ;
257
256
258
- let timings = ServerTiming :: from_headers ( headers) ? ;
257
+ let timings = ServerTiming :: from_headers ( headers) . unwrap ( ) ;
259
258
let entry = timings. iter ( ) . next ( ) . unwrap ( ) ;
260
259
assert_eq ! ( entry. name( ) , "server" ) ;
261
260
Ok ( ( ) )
0 commit comments