Module gotham::router::builder

source ·
Expand description

Defines a builder API for constructing a Router.

Structs

Implements the methods required for associating a number of routes with a single path. This is used by DrawRoutes::associated.
A delegated builder, which is created by DrawRoutes::delegate and returned. The DrawRoutes trait has documentation for using this type.
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.
A scoped builder, which is created by DrawRoutes::scope and passed to the provided closure. The DrawRoutes trait has documentation for using this type.
Implements the traits required to define a single route, after determining which request paths will be dispatched here. The DefineSingleRoute trait has documentation for using this type.

Traits

Describes the API for defining a single route, after determining which request paths will be dispatched here. The API here uses chained function calls to build and add the route into the RouterBuilder which created it.
Defines functions used by a builder to determine which request paths will be dispatched to a route. This trait is implemented by the top-level RouterBuilder, and also the ScopedBuilder created by DrawRoutes::scope.
Describes the operation of extending a RouteMatcher on a route. This trait exists to remove type clutter from the documentation of SingleRouteBuilder::add_route_matcher.
Describes the operation of replacing a PathExtractor on a route. This trait exists to remove type clutter from the documentation of SingleRouteBuilder::with_path_extractor.
Describes the operation of replacing a QueryStringExtractor on a route. This trait exists to remove type clutter from the documentation of SingleRouteBuilder::with_query_string_extractor.

Functions

Builds a Router using the provided closure. Routes are defined using the RouterBuilder value passed to the closure, and the Router is constructed before returning.
Builds a Router with no middleware using the provided closure. Routes are defined using the RouterBuilder value passed to the closure, and the Router is constructed before returning.

Type Definitions

The default type returned when building a single associated route. See router::builder::DefineSingleRoute for an overview of the ways that a route can be specified.