pub trait AsyncEndpoint<I, O>: EndpointMetadata {
// Required method
fn handle(
&self,
req: Request<I>,
response_extensions: &mut Extensions,
) -> impl Future<Output = Result<Response<AsyncResponseBody<O>>, Error>> + Send;
}
Expand description
A nonblocking HTTP endpoint.
Required Methods§
Sourcefn handle(
&self,
req: Request<I>,
response_extensions: &mut Extensions,
) -> impl Future<Output = Result<Response<AsyncResponseBody<O>>, Error>> + Send
fn handle( &self, req: Request<I>, response_extensions: &mut Extensions, ) -> impl Future<Output = Result<Response<AsyncResponseBody<O>>, Error>> + Send
Handles a request to the endpoint.
If the endpoint has path parameters, callers must include a
PathParams
extension in the request containing the extracted
parameters from the URI. The implementation is reponsible for all other request handling,
including parsing query parameters, header parameters, and the request body.
The response_extensions
will be added to the extensions of the response produced by the
endpoint, even if an error is returned.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.