Struct rocket::http::hyper::mime::Mime [−][src]
Mime, or Media Type. Encapsulates common registers types.
Consider that a traditional mime type contains a "top level type", a "sub level type", and 0-N "parameters". And they're all strings. Strings everywhere. Strings mean typos. Rust has type safety. We should use types!
So, Mime bundles together this data into types so the compiler can catch your typos.
This improves things so you use match without Strings:
use mime::{Mime, TopLevel, SubLevel}; let mime: Mime = "application/json".parse().unwrap(); match mime { Mime(TopLevel::Application, SubLevel::Json, _) => println!("matched json!"), _ => () }
Implementations
impl<P> Mime<P> where
P: AsRef<[(Attr, Value)]>,
[src]
P: AsRef<[(Attr, Value)]>,
Trait Implementations
impl<T> Clone for Mime<T> where
T: Clone + AsRef<[(Attr, Value)]>,
[src]
T: Clone + AsRef<[(Attr, Value)]>,
impl<T> Debug for Mime<T> where
T: AsRef<[(Attr, Value)]> + Debug,
[src]
T: AsRef<[(Attr, Value)]> + Debug,
impl<T> Display for Mime<T> where
T: AsRef<[(Attr, Value)]>,
[src]
T: AsRef<[(Attr, Value)]>,
impl<T> Eq for Mime<T> where
T: Eq + AsRef<[(Attr, Value)]>,
[src]
T: Eq + AsRef<[(Attr, Value)]>,
impl FromStr for Mime<Vec<(Attr, Value), Global>>
[src]
type Err = ()
The associated error which can be returned from parsing.
pub fn from_str(raw: &str) -> Result<Mime<Vec<(Attr, Value), Global>>, ()>
[src]
impl<T> Hash for Mime<T> where
T: AsRef<[(Attr, Value)]> + Hash,
[src]
T: AsRef<[(Attr, Value)]> + Hash,
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T> Ord for Mime<T> where
T: Ord + AsRef<[(Attr, Value)]>,
[src]
T: Ord + AsRef<[(Attr, Value)]>,
pub fn cmp(&self, other: &Mime<T>) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<LHS, RHS> PartialEq<Mime<RHS>> for Mime<LHS> where
LHS: AsRef<[(Attr, Value)]>,
RHS: AsRef<[(Attr, Value)]>,
[src]
LHS: AsRef<[(Attr, Value)]>,
RHS: AsRef<[(Attr, Value)]>,
pub fn eq(&self, other: &Mime<RHS>) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T> PartialOrd<Mime<T>> for Mime<T> where
T: PartialOrd<T> + AsRef<[(Attr, Value)]>,
[src]
T: PartialOrd<T> + AsRef<[(Attr, Value)]>,
pub fn partial_cmp(&self, other: &Mime<T>) -> Option<Ordering>
[src]
pub fn lt(&self, other: &Mime<T>) -> bool
[src]
pub fn le(&self, other: &Mime<T>) -> bool
[src]
pub fn gt(&self, other: &Mime<T>) -> bool
[src]
pub fn ge(&self, other: &Mime<T>) -> bool
[src]
impl<T> StructuralEq for Mime<T> where
T: AsRef<[(Attr, Value)]>,
[src]
T: AsRef<[(Attr, Value)]>,
Auto Trait Implementations
impl<T> RefUnwindSafe for Mime<T> where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Send for Mime<T> where
T: Send,
[src]
T: Send,
impl<T> Sync for Mime<T> where
T: Sync,
[src]
T: Sync,
impl<T> Unpin for Mime<T> where
T: Unpin,
[src]
T: Unpin,
impl<T> UnwindSafe for Mime<T> where
T: UnwindSafe,
[src]
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, I> AsResult<T, I> for T where
I: Input,
[src]
I: Input,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoCollection<T> for T
[src]
pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
[src]
A: Array<Item = T>,
pub fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
F: FnMut(T) -> U,
A: Array<Item = U>,
[src]
F: FnMut(T) -> U,
A: Array<Item = U>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Typeable for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,