[−][src]Struct gotham::router::route::matcher::accept::AcceptHeaderRouteMatcher
A RouteMatcher
that succeeds when the Request
has been made with an Accept
header that
includes one or more supported media types. A missing Accept
header, or the value of */*
will also positvely match.
Quality values within Accept
header values are not considered by this matcher.
Examples
let supported_media_types = vec![mime::APPLICATION_JSON, mime::IMAGE_STAR]; let matcher = AcceptHeaderRouteMatcher::new(supported_media_types); // No accept header state.put(HeaderMap::new()); assert!(matcher.is_match(&state).is_ok()); // Accept header of `*/*` let mut headers = HeaderMap::new(); headers.insert(ACCEPT, "*/*".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_ok()); // Accept header of `application/json` let mut headers = HeaderMap::new(); headers.insert(ACCEPT, "application/json".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_ok()); // Not a valid Accept header let mut headers = HeaderMap::new(); headers.insert(ACCEPT, "text/plain".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_err()); // At least one supported accept header let mut headers = HeaderMap::new(); headers.insert(ACCEPT, "text/plain".parse().unwrap()); headers.insert(ACCEPT, "application/json".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_ok()); // Accept header of `image/*` let mut headers = HeaderMap::new(); headers.insert(ACCEPT, "image/*".parse().unwrap()); state.put(headers); assert!(matcher.is_match(&state).is_ok());
Methods
impl AcceptHeaderRouteMatcher
[src]
Trait Implementations
impl RouteMatcher for AcceptHeaderRouteMatcher
[src]
fn is_match(&self, state: &State) -> Result<(), RouteNonMatch>
[src]
Determines if the Request
was made using an Accept
header that includes one or more
supported media types. A missing Accept
header, or the value of */*
will also positvely
match.
Quality values within Accept
header values are not considered by the matcher, as the
matcher is only able to indicate whether a successful match has been found.
impl Clone for AcceptHeaderRouteMatcher
[src]
fn clone(&self) -> AcceptHeaderRouteMatcher
[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 AcceptHeaderRouteMatcher
impl Sync for AcceptHeaderRouteMatcher
impl Send for AcceptHeaderRouteMatcher
impl RefUnwindSafe for AcceptHeaderRouteMatcher
impl UnwindSafe for AcceptHeaderRouteMatcher
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,