pub struct Builder<M> {
    pub head_can_use_get: bool,
    pub redirect_trailing_slash: bool,
    pub redirect_clean_path: bool,
    pub redirect_behavior: Option<RedirectBehavior>,
    pub redirect_method_behavior: HashMap<Method, RedirectBehavior>,
    pub remove_catch_all_trailing_slash: bool,
    pub escape_added_routes: bool,
    /* private fields */
}

Fields

head_can_use_get: bool

Allows the router to use the GET handler to respond to HEAD requests if no explicit HEAD handler has been added for the matching pattern. This is true by default.

redirect_trailing_slash: bool

Enables automatic redirection in case the router doesn’t find a matching route for the current request path but a handler for the path with or without the trailing slash exists. This is true by default.

redirect_clean_path: bool

Allows the router to try clean the current request path, if no handler is registered for it.This is true by default.

redirect_behavior: Option<RedirectBehavior>

RedirectBehavior sets the default redirect behavior when RedirectTrailingSlash or RedirectCleanPath are true. The default value is Redirect301.

redirect_method_behavior: HashMap<Method, RedirectBehavior>

Overrides the default behavior for a particular HTTP method. The key is the method name, and the value is the behavior to use for that method.

remove_catch_all_trailing_slash: bool

Removes the trailing slash when a catch-all pattern is matched, if set to true. By default, catch-all paths are never redirected.

escape_added_routes: bool

Controls URI escaping behavior when adding a route to the tree. If set to true, the router will add both the route as originally passed, and a version passed through url::parse. This behavior is disabled by default.

Implementations

Register a handler for when the path matches a different method than the requested one

Register a handler for when the path matches a different method than the requested one

Converts the Treemux into a Service which you can serve directly with Hyper. If you have an existing Service that you want to incorporate a Treemux into, see Treemux::serve.

// Our router...
let router = Treemux::builder();

// Convert it into a service...
let service = router.into_service();

// Serve with hyper
hyper::Server::bind(&([127, 0, 0, 1], 3030).into())
    .serve(service)
    .await?;

Converts the Treemux into a Service which you can serve directly with Hyper. If you have an existing Service that you want to incorporate a Treemux into, see Treemux::serve.

// Our router...
let router = Treemux::builder();

// Convert it into a service...
let service = router.into_service();

// Serve with hyper
hyper::Server::bind(&([127, 0, 0, 1], 3030).into())
    .serve(service)
    .await?;

Trait Implementations

Returns the “default value” for a type. Read more

Converts to this type from the input type.

Insert a value into the router for a specific path indexed by a key. Read more

Register a handler for GET requests

Register a handler for HEAD requests

Register a handler for OPTIONS requests

Register a handler for POST requests

Register a handler for PUT requests

Register a handler for PATCH requests

Register a handler for DELETE requests

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more