Struct routerify::Router [−][src]
pub struct Router<B, E> { /* fields omitted */ }
Expand description
Represents a modular, lightweight and mountable router type.
A router consists of some routes, some pre-middlewares and some post-middlewares.
This Router<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.
A Router
can be created using the Router::builder()
method.
Examples
use routerify::Router;
use hyper::{Response, Request, Body};
// A handler for "/about" page.
// We will use hyper::Body as response body type and hyper::Error as error type.
async fn about_handler(_: Request<Body>) -> Result<Response<Body>, hyper::Error> {
Ok(Response::new(Body::from("About page")))
}
// Create a router with hyper::Body as response body type and hyper::Error as error type.
let router: Router<Body, hyper::Error> = Router::builder()
.get("/about", about_handler)
.build()
.unwrap();
Implementations
Return a RouterBuilder instance to build a Router
.
Trait Implementations
Auto Trait Implementations
impl<B, E> !RefUnwindSafe for Router<B, E>
impl<B, E> !UnwindSafe for Router<B, E>
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more