[−][src]Struct gotham::router::route::matcher::content_type::ContentTypeHeaderRouteMatcher
A RouteMatcher
that succeeds when the Request
has been made with a Content-Type
header
that includes a supported media type. The matcher will fail if the Content-Type
header is missing.
Examples
let supported_media_types = vec![mime::APPLICATION_JSON]; let matcher = ContentTypeHeaderRouteMatcher::new(supported_media_types); // No content type header state.put(HeaderMap::new()); assert!(matcher.is_match(&state).is_err()); // Content type header of `application/json` let mut headers = HeaderMap::new(); headers.insert(CONTENT_TYPE, "application/json".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_ok()); // Not a valid Content-Type header let mut headers = HeaderMap::new(); headers.insert(CONTENT_TYPE, "text/plain".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_err()); // At least one supported content type header let mut headers = HeaderMap::new(); headers.insert(CONTENT_TYPE, "text/plain".parse().unwrap()); headers.insert(CONTENT_TYPE, "application/json".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_ok());
Methods
impl ContentTypeHeaderRouteMatcher
[src]
pub fn new(supported_media_types: Vec<Mime>) -> Self
[src]
Creates a new ContentTypeHeaderRouteMatcher
Trait Implementations
impl RouteMatcher for ContentTypeHeaderRouteMatcher
[src]
fn is_match(&self, state: &State) -> Result<(), RouteNonMatch>
[src]
Determines if the Request
was made using a Content-Type
header that includes a
supported media type. A missing Content-Type
header will not match.
impl Clone for ContentTypeHeaderRouteMatcher
[src]
fn clone(&self) -> ContentTypeHeaderRouteMatcher
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl Unpin for ContentTypeHeaderRouteMatcher
impl Sync for ContentTypeHeaderRouteMatcher
impl Send for ContentTypeHeaderRouteMatcher
impl RefUnwindSafe for ContentTypeHeaderRouteMatcher
impl UnwindSafe for ContentTypeHeaderRouteMatcher
Blanket Implementations
impl<M> IntoRouteMatcher for M where
M: RouteMatcher + Send + Sync + 'static,
[src]
M: RouteMatcher + Send + Sync + 'static,
type Output = M
The concrete RouteMatcher each implementation will provide.
fn into_route_matcher(Self) -> <M as IntoRouteMatcher>::Output
[src]
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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.
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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,