1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
use std::time::Duration; use util::Seconds; /// `Access-Control-Max-Age` header, part of /// [CORS](http://www.w3.org/TR/cors/#access-control-max-age-response-header) /// /// The `Access-Control-Max-Age` header indicates how long the results of a /// preflight request can be cached in a preflight result cache. /// /// # ABNF /// /// ```text /// Access-Control-Max-Age = \"Access-Control-Max-Age\" \":\" delta-seconds /// ``` /// /// # Example values /// /// * `531` /// /// # Examples /// /// ``` /// # extern crate headers; /// use std::time::Duration; /// use headers::AccessControlMaxAge; /// /// let max_age = AccessControlMaxAge::from(Duration::from_secs(531)); /// ``` #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct AccessControlMaxAge(Seconds); derive_header! { AccessControlMaxAge(_), name: ACCESS_CONTROL_MAX_AGE } impl From<Duration> for AccessControlMaxAge { fn from(dur: Duration) -> AccessControlMaxAge { AccessControlMaxAge(dur.into()) } } impl From<AccessControlMaxAge> for Duration { fn from(acma: AccessControlMaxAge) -> Duration { acma.0.into() } }