mco_http/header/common/
access_control_expose_headers.rs

1use unicase::UniCase;
2
3header! {
4    /// `Access-Control-Expose-Headers` header, part of
5    /// [CORS](http://www.w3.org/TR/cors/#access-control-expose-headers-response-header)
6    ///
7    /// The Access-Control-Expose-Headers header indicates which headers are safe to expose to the
8    /// API of a CORS API specification.
9    ///
10    /// # ABNF
11    /// ```plain
12    /// Access-Control-Expose-Headers = "Access-Control-Expose-Headers" ":" #field-name
13    /// ```
14    ///
15    /// # Example values
16    /// * `ETag, Content-Length`
17    ///
18    /// # Examples
19    /// ```
20    /// # extern crate mco_http;
21    /// # extern crate unicase;
22    /// # fn main() {
23    /// // extern crate unicase;
24    ///
25    /// use mco_http::header::{Headers, AccessControlExposeHeaders};
26    /// use unicase::UniCase;
27    ///
28    /// let mut headers = Headers::new();
29    /// headers.set(
30    ///     AccessControlExposeHeaders(vec![
31    ///         UniCase("etag".to_owned()),
32    ///         UniCase("content-length".to_owned())
33    ///     ])
34    /// );
35    /// # }
36    /// ```
37    /// ```
38    /// # extern crate mco_http;
39    /// # extern crate unicase;
40    /// # fn main() {
41    /// // extern crate unicase;
42    ///
43    /// use mco_http::header::{Headers, AccessControlExposeHeaders};
44    /// use unicase::UniCase;
45    ///
46    /// let mut headers = Headers::new();
47    /// headers.set(
48    ///     AccessControlExposeHeaders(vec![
49    ///         UniCase("etag".to_owned()),
50    ///         UniCase("content-length".to_owned())
51    ///     ])
52    /// );
53    /// # }
54    /// ```
55    (AccessControlExposeHeaders, "Access-Control-Expose-Headers") => (UniCase<String>)*
56
57    test_access_control_expose_headers {
58        test_header!(test1, vec![b"etag, content-length"]);
59    }
60}