pub struct MediaType<'a> {
pub ty: Name<'a>,
pub subty: Name<'a>,
pub suffix: Option<Name<'a>>,
pub params: Cow<'a, [(Name<'a>, Value<'a>)]>,
}
Expand description
A borrowed MediaType.
use mediatype::{names::*, MediaType, Value, WriteParams};
let mut multipart = MediaType::new(MULTIPART, FORM_DATA);
let boundary = Value::new("dyEV84n7XNJ").unwrap();
multipart.set_param(BOUNDARY, boundary);
assert_eq!(
multipart.to_string(),
"multipart/form-data; boundary=dyEV84n7XNJ"
);
multipart.subty = RELATED;
assert_eq!(
multipart.to_string(),
"multipart/related; boundary=dyEV84n7XNJ"
);
const IMAGE_SVG: MediaType = MediaType::from_parts(IMAGE, SVG, Some(XML), &[]);
let svg = MediaType::parse("IMAGE/SVG+XML").unwrap();
assert_eq!(svg, IMAGE_SVG);
Fields
ty: Name<'a>
Top-level type.
subty: Name<'a>
Subtype.
suffix: Option<Name<'a>>
Optional suffix.
params: Cow<'a, [(Name<'a>, Value<'a>)]>
Parameters.
Implementations
sourceimpl<'a> MediaType<'a>
impl<'a> MediaType<'a>
sourcepub const fn new(ty: Name<'a>, subty: Name<'a>) -> Self
pub const fn new(ty: Name<'a>, subty: Name<'a>) -> Self
Constructs a MediaType
from a top-level type and a subtype.
const IMAGE_PNG: MediaType = MediaType::new(IMAGE, PNG);
assert_eq!(IMAGE_PNG, MediaType::parse("image/png").unwrap());
sourcepub const fn from_parts(
ty: Name<'a>,
subty: Name<'a>,
suffix: Option<Name<'a>>,
params: &'a [(Name<'a>, Value<'a>)]
) -> Self
pub const fn from_parts(
ty: Name<'a>,
subty: Name<'a>,
suffix: Option<Name<'a>>,
params: &'a [(Name<'a>, Value<'a>)]
) -> Self
Constructs a MediaType
with an optional suffix and parameters.
const IMAGE_SVG: MediaType = MediaType::from_parts(IMAGE, SVG, Some(XML), &[(CHARSET, UTF_8)]);
assert_eq!(
IMAGE_SVG,
MediaType::parse("image/svg+xml; charset=UTF-8").unwrap()
);
sourcepub fn parse<'s: 'a>(s: &'s str) -> Result<Self, MediaTypeError>
pub fn parse<'s: 'a>(s: &'s str) -> Result<Self, MediaTypeError>
Constructs a MediaType
from str
without copying the string.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for MediaType<'de>
impl<'de> Deserialize<'de> for MediaType<'de>
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<&'_ MediaType<'_>> for MediaTypeBuf
impl From<&'_ MediaType<'_>> for MediaTypeBuf
sourceimpl<'a> From<&'a MediaTypeBuf> for MediaType<'a>
impl<'a> From<&'a MediaTypeBuf> for MediaType<'a>
sourcefn from(t: &'a MediaTypeBuf) -> Self
fn from(t: &'a MediaTypeBuf) -> Self
Converts to this type from the input type.
sourceimpl From<MediaType<'_>> for MediaTypeBuf
impl From<MediaType<'_>> for MediaTypeBuf
sourceimpl PartialEq<&'_ MediaType<'_>> for MediaTypeBuf
impl PartialEq<&'_ MediaType<'_>> for MediaTypeBuf
sourceimpl<'a> PartialEq<&'_ MediaTypeBuf> for MediaType<'a>
impl<'a> PartialEq<&'_ MediaTypeBuf> for MediaType<'a>
sourceimpl PartialEq<MediaType<'_>> for MediaTypeBuf
impl PartialEq<MediaType<'_>> for MediaTypeBuf
sourceimpl<'a> PartialEq<MediaTypeBuf> for MediaType<'a>
impl<'a> PartialEq<MediaTypeBuf> for MediaType<'a>
sourceimpl<'a> ReadParams for MediaType<'a>
impl<'a> ReadParams for MediaType<'a>
sourceimpl<'a> WriteParams<'a> for MediaType<'a>
impl<'a> WriteParams<'a> for MediaType<'a>
sourcefn set_param<'n: 'a, 'v: 'a>(&mut self, name: Name<'n>, value: Value<'v>)
fn set_param<'n: 'a, 'v: 'a>(&mut self, name: Name<'n>, value: Value<'v>)
Sets a parameter value. Read more
sourcefn remove_params(&mut self, name: Name<'_>)
fn remove_params(&mut self, name: Name<'_>)
Removes all parameters with the name.
sourcefn clear_params(&mut self)
fn clear_params(&mut self)
Removes all parameters.
impl<'a> Eq for MediaType<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for MediaType<'a>
impl<'a> Send for MediaType<'a>
impl<'a> Sync for MediaType<'a>
impl<'a> Unpin for MediaType<'a>
impl<'a> UnwindSafe for MediaType<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more