hyperx/header/common/
access_control_expose_headers.rs

1use unicase::Ascii;
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    ///
12    /// ```text
13    /// Access-Control-Expose-Headers = "Access-Control-Expose-Headers" ":" #field-name
14    /// ```
15    ///
16    /// # Example values
17    /// * `ETag, Content-Length`
18    ///
19    /// # Examples
20    ///
21    /// ```
22    /// # extern crate http;
23    /// # extern crate hyperx;
24    /// # extern crate unicase;
25    /// # fn main() {
26    /// // extern crate unicase;
27    ///
28    /// use hyperx::header::{AccessControlExposeHeaders, TypedHeaders};
29    /// use unicase::Ascii;
30    ///
31    /// let mut headers = http::HeaderMap::new();
32    /// headers.encode(
33    ///     &AccessControlExposeHeaders(vec![
34    ///         Ascii::new("etag".to_owned()),
35    ///         Ascii::new("content-length".to_owned())
36    ///     ])
37    /// );
38    /// # }
39    /// ```
40    ///
41    /// ```
42    /// # extern crate http;
43    /// # extern crate hyperx;
44    /// # extern crate unicase;
45    /// # fn main() {
46    /// // extern crate unicase;
47    ///
48    /// use hyperx::header::{AccessControlExposeHeaders, TypedHeaders};
49    /// use unicase::Ascii;
50    ///
51    /// let mut headers = http::HeaderMap::new();
52    /// headers.encode(
53    ///     &AccessControlExposeHeaders(vec![
54    ///         Ascii::new("etag".to_owned()),
55    ///         Ascii::new("content-length".to_owned())
56    ///     ])
57    /// );
58    /// # }
59    /// ```
60    (AccessControlExposeHeaders, "Access-Control-Expose-Headers") => (Ascii<String>)*
61
62    test_access_control_expose_headers {
63        test_header!(test1, vec![b"etag, content-length"]);
64    }
65}
66
67standard_header!(AccessControlExposeHeaders, ACCESS_CONTROL_EXPOSE_HEADERS);