headers/common/
access_control_max_age.rs

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