requiem_http/header/common/
content_language.rs

1use crate::header::{QualityItem, CONTENT_LANGUAGE};
2use language_tags::LanguageTag;
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    ///
15    /// ```text
16    /// Content-Language = 1#language-tag
17    /// ```
18    ///
19    /// # Example values
20    ///
21    /// * `da`
22    /// * `mi, en`
23    ///
24    /// # Examples
25    ///
26    /// ```rust
27    /// # extern crate requiem_http;
28    /// # #[macro_use] extern crate language_tags;
29    /// use requiem_http::Response;
30    /// # use requiem_http::http::header::{ContentLanguage, qitem};
31    /// #
32    /// # fn main() {
33    /// let mut builder = Response::Ok();
34    /// builder.set(
35    ///     ContentLanguage(vec![
36    ///         qitem(langtag!(en)),
37    ///     ])
38    /// );
39    /// # }
40    /// ```
41    ///
42    /// ```rust
43    /// # extern crate requiem_http;
44    /// # #[macro_use] extern crate language_tags;
45    /// use requiem_http::Response;
46    /// # use requiem_http::http::header::{ContentLanguage, qitem};
47    /// #
48    /// # fn main() {
49    ///
50    /// let mut builder = Response::Ok();
51    /// builder.set(
52    ///     ContentLanguage(vec![
53    ///         qitem(langtag!(da)),
54    ///         qitem(langtag!(en;;;GB)),
55    ///     ])
56    /// );
57    /// # }
58    /// ```
59    (ContentLanguage, CONTENT_LANGUAGE) => (QualityItem<LanguageTag>)+
60
61    test_content_language {
62        test_header!(test1, vec![b"da"]);
63        test_header!(test2, vec![b"mi, en"]);
64    }
65}