Struct media_type::Value
source · pub struct Value<'a> { /* private fields */ }
Expand description
A parameter value section of a Mime
.
Except for the charset
parameter, parameters
are compared case sensitive
Implementations
sourceimpl<'a> Value<'a>
impl<'a> Value<'a>
sourcepub fn as_str_repr(&self) -> &'a str
pub fn as_str_repr(&self) -> &'a str
Returns the underlying representation.
The underlying representation differs from the content, as it can contain quotes surrounding the content and quoted-pairs, even if non of them are necessary to represent the content.
For example the representation r#""a\"\ b""#
corresponds
to the content r#""a" b"#
. Another semantically equivalent
(i.e. with the same content) representation is r#""a\" b""
Example
let mime = r#"text/plain; param="abc def""#.parse::<mime::Mime>().unwrap();
let param = mime.get_param("param").unwrap();
assert_eq!(param.as_str_repr(), r#""abc def""#);
sourcepub fn to_content(&self) -> Cow<'a, str>
pub fn to_content(&self) -> Cow<'a, str>
Returns the content of this instance.
It differs to the representation in that it will remove the quotation marks from the quoted string and will “unquote” quoted pairs.
If the underlying representation is a quoted string containing
quoted-pairs Cow::Owned
is returned.
If the underlying representation is a quoted-string without
quoted-pairs Cow::Borrowed
is returned as normal
str slicing can be used to strip the surrounding double quoted.
If the underlying representation is not a quoted-string
Cow::Borrowed
is returned, too.
Example
use std::borrow::Cow;
let raw_mime = r#"text/plain; p1="char is \""; p2="simple"; p3=simple2"#;
let mime = raw_mime.parse::<mime::Mime>().unwrap();
let param1 = mime.get_param("p1").unwrap();
let expected: Cow<'static, str> = Cow::Owned(r#"char is ""#.into());
assert_eq!(param1.to_content(), expected);
let param2 = mime.get_param("p2").unwrap();
assert_eq!(param2.to_content(), Cow::Borrowed("simple"));
let param3 = mime.get_param("p3").unwrap();
assert_eq!(param3.to_content(), Cow::Borrowed("simple2"));