[][src]Struct pathmaker::router::Router

pub struct Router<Method, Handler> { /* fields omitted */ }

The main router. This contains a set of routes that can be taken, as well as a default hnadler for when the request matches none of those routes. We make no requirements on the Method type here; this is the type used by the HTTP library to represent the HTTP method (e.g. GET, POST, etc.). When routes are created, they're created with this Method type, and when we do a lookup, we make sure the route matches the method.

We also make no restrictions on the Handler; all that's returned upon lookup is an immutable reference to the handler, if one exists.

Methods

impl<M: Eq, H> Router<M, H>[src]

pub fn build() -> Build<M, H>[src]

Create a builder for the router. See type Build for more information.

pub fn lookup<'s, 'p>(
    &'s self,
    method: &M,
    path: &'p str
) -> Option<(&'s H, Vec<&'p str>)>
[src]

This performs the actual lookup. We take a reference to the method, and a reference to the path, and return the handler and the url parameters, if they exist. Note that the path must be URL decoded, and only contain the path - it must not contain any query parameters.

pub fn set_default(&mut self, default: H)[src]

Sets the default of the router. This is similar to [Build::set_default].

Trait Implementations

impl<Method: Clone, Handler: Clone> Clone for Router<Method, Handler>[src]

impl<M: Debug, H: Debug> Debug for Router<M, H>[src]

Auto Trait Implementations

impl<Method, Handler> Send for Router<Method, Handler> where
    Handler: Send,
    Method: Send

impl<Method, Handler> Sync for Router<Method, Handler> where
    Handler: Sync,
    Method: Sync

impl<Method, Handler> Unpin for Router<Method, Handler> where
    Handler: Unpin,
    Method: Unpin

impl<Method, Handler> UnwindSafe for Router<Method, Handler> where
    Handler: UnwindSafe,
    Method: UnwindSafe

impl<Method, Handler> !RefUnwindSafe for Router<Method, Handler>

Blanket Implementations

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

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

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

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