pub struct Route<B, E> { /* private fields */ }
Expand description
Represents a single route.
A route consists of a path, http method type(s) and a handler. It shouldn’t be created directly, use RouterBuilder methods to create a route.
This Route<B, E>
type accepts two type parameters: B
and E
.
- The
B
represents the response body type which will be used by route handlers and the middlewares and this body type must implement the HttpBody trait. For an instance,B
could be hyper::Body type. - The
E
represents any error type which will be used by route handlers and the middlewares. This error type must implement the std::error::Error.
§Examples
use routerify::Router;
use hyper::{Response, Request, Body};
async fn home_handler(req: Request<Body>) -> Result<Response<Body>, hyper::Error> {
Ok(Response::new(Body::from("home")))
}
let router = Router::builder()
// Create a route on "/" path for `GET` method.
.get("/", home_handler)
.build()
.unwrap();
Trait Implementations§
Auto Trait Implementations§
impl<B, E> Freeze for Route<B, E>
impl<B, E> !RefUnwindSafe for Route<B, E>
impl<B, E> Send for Route<B, E>
impl<B, E> Sync for Route<B, E>
impl<B, E> Unpin for Route<B, E>
impl<B, E> !UnwindSafe for Route<B, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more