[][src]Struct routerify::Router

pub struct Router<B, E> { /* fields omitted */ }

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();

Methods

impl<B: HttpBody + Send + Sync + Unpin + 'static, E: Error + Send + Sync + Unpin + 'static> Router<B, E>[src]

pub fn builder() -> RouterBuilder<B, E>[src]

Return a RouterBuilder instance to build a Router.

Trait Implementations

impl<B, E> Debug for Router<B, E>[src]

Auto Trait Implementations

impl<B, E> !RefUnwindSafe for Router<B, E>

impl<B, E> Send for Router<B, E>

impl<B, E> Sync for Router<B, E>

impl<B, E> Unpin for Router<B, E>

impl<B, E> !UnwindSafe for Router<B, E>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.