Struct gotham::router::builder::RouterBuilder
source · pub struct RouterBuilder<'a, C, P>where
C: PipelineHandleChain<P> + Copy + Send + Sync + 'static,
P: Send + Sync + 'static,{ /* private fields */ }
Expand description
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.
Implementations§
source§impl<'a, C, P> RouterBuilder<'a, C, P>where
C: PipelineHandleChain<P> + Copy + Send + Sync + 'static,
P: Send + Sync + 'static,
impl<'a, C, P> RouterBuilder<'a, C, P>where
C: PipelineHandleChain<P> + Copy + Send + Sync + 'static,
P: Send + Sync + 'static,
sourcepub fn add_response_extender<E>(&mut self, status_code: StatusCode, extender: E)where
E: ResponseExtender<Body> + Send + Sync + 'static,
pub fn add_response_extender<E>(&mut self, status_code: StatusCode, extender: E)where
E: ResponseExtender<Body> + Send + Sync + 'static,
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§
source§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,
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,
source§fn get_or_head<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn get_or_head<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
source§fn get<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn get<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
Creates a route which matches only
GET
requests to the given path (ignoring HEAD
requests). Read moresource§fn head<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn head<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
Creates a route which matches
HEAD
requests to the given path. Read moresource§fn post<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn post<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
Creates a route which matches
POST
requests to the given path. Read moresource§fn put<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn put<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
Creates a route which matches
PUT
requests to the given path. Read moresource§fn patch<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn patch<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
Creates a route which matches
PATCH
requests to the given path. Read moresource§fn delete<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn delete<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
Creates a route which matches
DELETE
requests to the given path. Read moresource§fn options<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
fn options<'b>(
&'b mut self,
path: &str
) -> SingleRouteBuilder<'b, MethodOnlyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>
Creates a route which matches
OPTIONS
requests to the given path. Read moresource§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,
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,
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 moresource§fn scope<F>(&mut self, path: &str, f: F)where
F: FnOnce(&mut ScopeBuilder<'_, C, P>),
fn scope<F>(&mut self, path: &str, f: F)where
F: FnOnce(&mut ScopeBuilder<'_, C, P>),
Begins defining a new scope, based on a given
path
prefix. Read moresource§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,
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,
Begins a new scope at the current location, with an alternate pipeline chain. Read more
source§fn delegate<'b>(
&'b mut self,
path: &str
) -> DelegateRouteBuilder<'b, AnyRouteMatcher, C, P>
fn delegate<'b>(
&'b mut self,
path: &str
) -> DelegateRouteBuilder<'b, AnyRouteMatcher, C, P>
Begins delegating a subpath of the tree. Read more
source§fn delegate_without_pipelines<'b>(
&'b mut self,
path: &str
) -> DelegateRouteBuilder<'b, AnyRouteMatcher, (), P>
fn delegate_without_pipelines<'b>(
&'b mut self,
path: &str
) -> DelegateRouteBuilder<'b, AnyRouteMatcher, (), P>
Begins delegating a subpath of the tree, but does not dispatch the requests via this
router’s
PipelineChain
. Read moresource§fn associate<'b, F>(&'b mut self, path: &str, f: F)where
F: FnOnce(&mut AssociatedRouteBuilder<'b, AnyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>),
fn associate<'b, F>(&'b mut self, path: &str, f: F)where
F: FnOnce(&mut AssociatedRouteBuilder<'b, AnyRouteMatcher, C, P, NoopPathExtractor, NoopQueryStringExtractor>),
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