Struct axum::handler::OnMethod [−][src]
pub struct OnMethod<S, F> { /* fields omitted */ }
Expand description
A handler Service
that accepts requests based on a MethodFilter
and
allows chaining additional handlers.
Implementations
pub fn any<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn any<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will accept all requests regardless of its HTTP method.
See OnMethod::get
for an example.
pub fn connect<H, B, T>(
self,
handler: H
) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn connect<H, B, T>(
self,
handler: H
) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept CONNECT
requests.
See OnMethod::get
for an example.
pub fn delete<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn delete<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept DELETE
requests.
See OnMethod::get
for an example.
pub fn get<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn get<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept GET
requests.
Example
use axum::prelude::*; async fn handler() {} async fn other_handler() {} // Requests to `GET /` will go to `handler` and `POST /` will go to // `other_handler`. let app = route("/", post(handler).get(other_handler));
pub fn head<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn head<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept HEAD
requests.
See OnMethod::get
for an example.
pub fn options<H, B, T>(
self,
handler: H
) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn options<H, B, T>(
self,
handler: H
) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept OPTIONS
requests.
See OnMethod::get
for an example.
pub fn patch<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn patch<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept PATCH
requests.
See OnMethod::get
for an example.
pub fn post<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn post<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept POST
requests.
See OnMethod::get
for an example.
pub fn put<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn put<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept PUT
requests.
See OnMethod::get
for an example.
pub fn trace<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn trace<H, B, T>(self, handler: H) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will only accept TRACE
requests.
See OnMethod::get
for an example.
pub fn on<H, B, T>(
self,
method: MethodFilter,
handler: H
) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
pub fn on<H, B, T>(
self,
method: MethodFilter,
handler: H
) -> OnMethod<IntoService<H, B, T>, Self> where
H: Handler<B, T>,
Chain an additional handler that will accept requests matching the given
MethodFilter
.
Example
use axum::{routing::MethodFilter, prelude::*}; async fn handler() {} async fn other_handler() {} // Requests to `GET /` will go to `handler` and `DELETE /` will go to // `other_handler` let app = route("/", get(handler).on(MethodFilter::Delete, other_handler));
Trait Implementations
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = RouteFuture<S, F, B>
type Future = RouteFuture<S, F, B>
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
Auto Trait Implementations
impl<S, F> RefUnwindSafe for OnMethod<S, F> where
F: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, F> UnwindSafe for OnMethod<S, F> where
F: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Create a new Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more
type Output = T
type Output = T
Should always be Self
impl<S, ReqBody, ResBody> ServiceExt<ReqBody, ResBody> for S where
S: Service<Request<ReqBody>, Response = Response<ResBody>>,
impl<S, ReqBody, ResBody> ServiceExt<ReqBody, ResBody> for S where
S: Service<Request<ReqBody>, Response = Response<ResBody>>,
Handle errors from a service. Read more
fn check_infallible(self) -> Self where
Self: Service<Request<ReqBody>, Response = Response<ResBody>, Error = Infallible> + Sized,
fn check_infallible(self) -> Self where
Self: Service<Request<ReqBody>, Response = Response<ResBody>, Error = Infallible> + Sized,
Check that your service cannot fail. Read more
Yields a mutable reference to the service when it is ready to accept a request.
please use the ServiceExt::ready
method instead
Yields a mutable reference to the service when it is ready to accept a request.
Yields the service when it is ready to accept a request.
Consume this Service
, calling with the providing request once it is ready.
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the poll_ready
method. Read more
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F> where
F: FnOnce(Self::Response) -> Response + Clone,
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F> where
F: FnOnce(Self::Response) -> Response + Clone,
Maps this service’s response value to a different value. This does not
alter the behaviour of the poll_ready
method. Read more
Maps this service’s error value to a different value. This does not
alter the behaviour of the poll_ready
method. Read more
Maps this service’s result type (Result<Self::Response, Self::Error>
)
to a different value, regardless of whether the future succeeds or
fails. Read more
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F> where
F: FnMut(NewRequest) -> Request + Clone,
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F> where
F: FnMut(NewRequest) -> Request + Clone,
Composes a function in front of the service. Read more
fn filter_async<F, NewRequest>(self, filter: F) -> AsyncFilter<Self, F> where
F: AsyncPredicate<NewRequest>,
fn filter_async<F, NewRequest>(self, filter: F) -> AsyncFilter<Self, F> where
F: AsyncPredicate<NewRequest>,
Composes this service with an AsyncFilter
that conditionally accepts or
rejects requests based on an [async predicate]. Read more
Composes an asynchronous function after this service. Read more