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.