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}