actix_web/http/header/
content_language.rs

1use language_tags::LanguageTag;
2
3use super::{common_header, QualityItem, CONTENT_LANGUAGE};
4
5common_header! {
6    /// `Content-Language` header, defined
7    /// in [RFC 7231 ยง3.1.3.2](https://datatracker.ietf.org/doc/html/rfc7231#section-3.1.3.2)
8    ///
9    /// The `Content-Language` header field describes the natural language(s)
10    /// of the intended audience for the representation.  Note that this
11    /// might not be equivalent to all the languages used within the
12    /// representation.
13    ///
14    /// # ABNF
15    /// ```plain
16    /// Content-Language = 1#language-tag
17    /// ```
18    ///
19    /// # Example Values
20    /// * `da`
21    /// * `mi, en`
22    ///
23    /// # Examples
24    /// ```
25    /// use actix_web::HttpResponse;
26    /// use actix_web::http::header::{ContentLanguage, LanguageTag, QualityItem};
27    ///
28    /// let mut builder = HttpResponse::Ok();
29    /// builder.insert_header(
30    ///     ContentLanguage(vec![
31    ///         QualityItem::max(LanguageTag::parse("en").unwrap()),
32    ///     ])
33    /// );
34    /// ```
35    ///
36    /// ```
37    /// use actix_web::HttpResponse;
38    /// use actix_web::http::header::{ContentLanguage, LanguageTag, QualityItem};
39    ///
40    /// let mut builder = HttpResponse::Ok();
41    /// builder.insert_header(
42    ///     ContentLanguage(vec![
43    ///         QualityItem::max(LanguageTag::parse("da").unwrap()),
44    ///         QualityItem::max(LanguageTag::parse("en-GB").unwrap()),
45    ///     ])
46    /// );
47    /// ```
48    (ContentLanguage, CONTENT_LANGUAGE) => (QualityItem<LanguageTag>)+
49
50    test_parse_and_format {
51        crate::http::header::common_header_test!(test1, [b"da"]);
52        crate::http::header::common_header_test!(test2, [b"mi, en"]);
53    }
54}