cogo_http/header/common/
content_language.rs

1use language_tags::LanguageTag;
2use crate::header::QualityItem;
3
4header! {
5    /// `Content-Language` header, defined in
6    /// [RFC7231](https://tools.ietf.org/html/rfc7231#section-3.1.3.2)
7    /// 
8    /// The `Content-Language` header field describes the natural language(s)
9    /// of the intended audience for the representation.  Note that this
10    /// might not be equivalent to all the languages used within the
11    /// representation.
12    /// 
13    /// # ABNF
14    /// ```plain
15    /// Content-Language = 1#language-tag
16    /// ```
17    /// 
18    /// # Example values
19    /// * `da`
20    /// * `mi, en`
21    /// 
22    /// # Examples
23    /// ```
24    /// # extern crate cogo_http;
25    /// # #[macro_use] extern crate language_tags;
26    /// # use cogo_http::header::{Headers, ContentLanguage, qitem};
27    /// # 
28    /// # fn main() {
29    /// let mut headers = Headers::new();
30    /// headers.set(
31    ///     ContentLanguage(vec![
32    ///         qitem(langtag!(en)),
33    ///     ])
34    /// );
35    /// # }
36    /// ```
37    /// ```
38    /// # extern crate cogo_http;
39    /// # #[macro_use] extern crate language_tags;
40    /// # use cogo_http::header::{Headers, ContentLanguage, qitem};
41    /// # 
42    /// # fn main() {
43    /// 
44    /// let mut headers = Headers::new();
45    /// headers.set(
46    ///     ContentLanguage(vec![
47    ///         qitem(langtag!(da)),
48    ///         qitem(langtag!(en;;;GB)),
49    ///     ])
50    /// );
51    /// # }
52    /// ```
53    (ContentLanguage, "Content-Language") => (QualityItem<LanguageTag>)+
54
55    test_content_language {
56        test_header!(test1, vec![b"da"]);
57        test_header!(test2, vec![b"mi, en"]);
58    }
59}