[][src]Struct gotham::router::builder::RouterBuilder

pub struct RouterBuilder<'a, C, P> where
    C: PipelineHandleChain<P> + Copy + Send + Sync + 'static,
    P: Send + Sync + 'static, 
{ /* fields omitted */ }

The top-level builder which is created by build_router and passed to the provided closure. See the build_router function and the DrawRoutes trait for usage.

Methods

impl<'a, C, P> RouterBuilder<'a, C, P> where
    C: PipelineHandleChain<P> + Copy + Send + Sync + 'static,
    P: Send + Sync + 'static, 
[src]

pub fn add_response_extender<E>(&mut self, status_code: StatusCode, extender: E) where
    E: ResponseExtender<Body> + Send + Sync + 'static, 
[src]

Adds a ResponseExtender to the ResponseFinalizer in the Router.

struct MyExtender;

impl ResponseExtender<Body> for MyExtender {
    fn extend(&self, state: &mut State, response: &mut Response<Body>) {
        // Extender implementation omitted.
    }
}

fn router() -> Router {
    build_simple_router(|route| {
        route.add_response_extender(StatusCode::INTERNAL_SERVER_ERROR, MyExtender);
    })
}

Trait Implementations

impl<'a, C, P> DrawRoutes<C, P> for RouterBuilder<'a, C, P> where
    C: PipelineHandleChain<P> + Copy + Send + Sync + 'static,
    P: RefUnwindSafe + Send + Sync + 'static, 
[src]

fn get_or_head<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches GET and HEAD requests to the given path. Read more

fn get<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches only GET requests to the given path (ignoring HEAD requests). Read more

fn head<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches HEAD requests to the given path. Read more

fn post<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches POST requests to the given path. Read more

fn put<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches PUT requests to the given path. Read more

fn patch<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches PATCH requests to the given path. Read more

fn delete<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches DELETE requests to the given path. Read more

fn options<'b>(
    &'b mut self,
    path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
[src]

Creates a route which matches OPTIONS requests to the given path. Read more

fn request<'b, IRM, M>(
    &'b mut self,
    matcher: IRM,
    path: &str
) -> SingleRouteBuilder<'b, M, C, P, NoopPathExtractor, NoopQueryStringExtractor> where
    IRM: IntoRouteMatcher<Output = M>,
    M: RouteMatcher + Send + Sync + 'static, 
[src]

Creates a single route which matches any requests to the given path with one of the given methods. The path can consist of static or dynamic segments, for example: Read more

fn scope<F>(&mut self, path: &str, f: F) where
    F: FnOnce(&mut ScopeBuilder<C, P>), 
[src]

Begins defining a new scope, based on a given path prefix. Read more

fn with_pipeline_chain<F, NC>(&mut self, pipeline_chain: NC, f: F) where
    F: FnOnce(&mut ScopeBuilder<NC, P>),
    NC: PipelineHandleChain<P> + Copy + Send + Sync + 'static, 
[src]

Begins a new scope at the current location, with an alternate pipeline chain. Read more

fn delegate<'b>(&'b mut self, path: &str) -> DelegateRouteBuilder<'b, C, P>[src]

Begins delegating a subpath of the tree. Read more

fn delegate_without_pipelines<'b>(
    &'b mut self,
    path: &str
) -> DelegateRouteBuilder<'b, (), P>
[src]

Begins delegating a subpath of the tree, but does not dispatch the requests via this router's PipelineChain. Read more

fn associate<'b, F>(&'b mut self, path: &str, f: F) where
    F: FnOnce(&mut AssociatedRouteBuilder<'b, AnyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>), 
[src]

Begins associating routes with a fixed path in the tree. In this way, multiple routes can be quickly associated with a single location. Read more

Auto Trait Implementations

impl<'a, C, P> Unpin for RouterBuilder<'a, C, P> where
    C: Unpin

impl<'a, C, P> Sync for RouterBuilder<'a, C, P>

impl<'a, C, P> Send for RouterBuilder<'a, C, P>

impl<'a, C, P> RefUnwindSafe for RouterBuilder<'a, C, P> where
    P: RefUnwindSafe

impl<'a, C, P> !UnwindSafe for RouterBuilder<'a, C, P>

Blanket Implementations

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.

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]

impl<T> Erased for T