[−][src]Struct gotham::router::Router
Responsible for dispatching HTTP requests to defined routes, and responding with appropriate
error codes when a valid Route
is unable to be determined or the dispatch cannot be
performed.
A Router
is constructed through the gotham::router::builder
API, and used with the gotham::start
function when booting a Gotham web application.
The Router
is capable of delegating requests to secondary Router
instances, which allows
the support of "modular applications". A modular application contains multiple applications
within a single binary that have clear boundaries established via Rust module separation.
Please see the documentation for DrawRoutes::delegate
within gotham::router::builder
in
order to delegate to other Router
instances.
Implementations
impl Router
[src]
pub fn new(tree: Tree, response_finalizer: ResponseFinalizer) -> Router
[src]
use the new gotham::router::builder
API to construct a Router
Manually assembles a Router
instance from a provided Tree
.
Trait Implementations
impl Clone for Router
[src]
impl Handler for Router
[src]
fn handle(self, state: State) -> Pin<Box<HandlerFuture>>
[src]
Handles the Request
by determining the correct Route
from the internal Tree
, storing
any path related variables in State
and dispatching to the associated Handler
.
impl NewHandler for Router
[src]
Auto Trait Implementations
impl RefUnwindSafe for Router
impl Send for Router
impl Sync for Router
impl Unpin for Router
impl UnwindSafe for Router
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
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> From<T> for T
[src]
impl<F, R> Handler for F where
F: FnOnce(State) -> R + Send,
R: IntoHandlerFuture,
[src]
F: FnOnce(State) -> R + Send,
R: IntoHandlerFuture,
fn handle(
Self,
State
) -> Pin<Box<dyn Future<Output = Result<(State, Response<Body>), (State, HandlerError)>> + 'static + Send>>
[src]
Self,
State
) -> Pin<Box<dyn Future<Output = Result<(State, Response<Body>), (State, HandlerError)>> + 'static + Send>>
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<F, H> NewHandler for F where
F: Fn() -> Result<H, Error> + Send + Sync + RefUnwindSafe,
H: Handler + Send,
[src]
F: Fn() -> Result<H, Error> + Send + Sync + RefUnwindSafe,
H: Handler + Send,
type Instance = H
The type of Handler
created by the NewHandler
.
fn new_handler(&Self) -> Result<H, Error>
[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<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,