[−][src]Trait hreq::server::Handler
Trait for a request handler that doesn't use a state.
Typically this trait is not used directly since there is a blanket implementation for any function that matches this signature:
ⓘThis example is not tested
async fn my_handler(req: Request<Body>) -> impl Into<Reply> { ... }
Reply
is not a type you would use in your own type signatures. impl Into<Reply>
represents a whole range of (concrete) possible return types. See Reply
for more details.
Examples
use hreq::prelude::*; async fn start_server() { let mut server = Server::new(); server.at("/hello/:name").get(hello_there); server.listen(3000).await.unwrap(); } async fn hello_there(req: http::Request<Body>) -> String { format!("Hello {}", req.path_param("name").unwrap()) }
Required methods
fn call<'a>(
&'a self,
req: Request<Body>
) -> Pin<Box<dyn Future<Output = Reply> + Send + 'a>>
&'a self,
req: Request<Body>
) -> Pin<Box<dyn Future<Output = Reply> + Send + 'a>>
Call the handler.
Implementors
impl<F: Send + Sync + 'static, Fut, Ret> Handler for F where
F: Fn(Request<Body>) -> Fut,
Fut: Future<Output = Ret> + Send + 'static,
Ret: Into<Reply>,
[src]
F: Fn(Request<Body>) -> Fut,
Fut: Future<Output = Ret> + Send + 'static,
Ret: Into<Reply>,