[][src]Struct media_type::Value

pub struct Value<'a> { /* fields omitted */ }

A parameter value section of a Mime.

Except for the charset parameter, parameters are compared case sensitive

Methods

impl<'a> Value<'a>[src]

pub fn as_str_repr(&self) -> &'a str[src]

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

This example is not tested
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""#);

pub fn to_content(&self) -> Cow<'a, str>[src]

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

This example is not tested
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"));

pub fn is_quoted(&self) -> bool[src]

Trait Implementations

impl<'a, 'b> AsciiCaseInsensitiveEq<&'b str> for Value<'a>[src]

impl<'a> AsciiCaseInsensitiveEq<Value<'a>> for str[src]

impl<'a, 'b> AsciiCaseInsensitiveEq<Value<'a>> for &'b str[src]

impl<'a, 'b> AsciiCaseInsensitiveEq<Value<'b>> for Value<'a>[src]

impl<'a> AsciiCaseInsensitiveEq<str> for Value<'a>[src]

impl<'a> Clone for Value<'a>[src]

impl<'a> Copy for Value<'a>[src]

impl<'a> Debug for Value<'a>[src]

impl<'a> Eq for Value<'a>[src]

impl<'a> From<Value<'a>> for Cow<'a, str>[src]

impl<'a> Hash for Value<'a>[src]

impl<'a, 'b> PartialEq<&'b str> for Value<'a>[src]

impl<'a> PartialEq<Value<'a>> for str[src]

impl<'a, 'b> PartialEq<Value<'b>> for Value<'a>[src]

impl<'a, 'b> PartialEq<Value<'b>> for &'a str[src]

impl<'a> PartialEq<str> for Value<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for Value<'a>

impl<'a> Send for Value<'a>

impl<'a> Sync for Value<'a>

impl<'a> Unpin for Value<'a>

impl<'a> UnwindSafe for Value<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.