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}