[−][src]Struct pathmaker::router::Router
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]
&'s self,
method: &M,
path: &'p str
) -> Option<(&'s H, Vec<&'p str>)>
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,
Handler: Send,
Method: Send,
impl<Method, Handler> Sync for Router<Method, Handler> where
Handler: Sync,
Method: Sync,
Handler: Sync,
Method: Sync,
impl<Method, Handler> Unpin for Router<Method, Handler> where
Handler: Unpin,
Method: Unpin,
Handler: Unpin,
Method: Unpin,
impl<Method, Handler> UnwindSafe for Router<Method, Handler> where
Handler: UnwindSafe,
Method: UnwindSafe,
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]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,