windmark 0.8.0

An elegant and highly performant async Gemini server framework
Documentation
/// These options configure the `Router`.
#[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)]
pub enum RouterOption {
  /// If enabled, removes a trailing slash from the request URL path if a route
  /// exists for the path without the slash (e.g., `/foo/` becomes `/foo`).
  RemoveExtraTrailingSlash,
  /// If enabled, adds a trailing slash to the request URL path if a route
  /// exists for the path with the slash (e.g., `/foo` becomes `/foo/`).
  AddMissingTrailingSlash,
  /// If enabled, the router ignores ASCII case in static route segments.
  /// Parameter names and captured values retain their original spelling.
  /// Routes that conflict under this matching rule cannot be registered
  /// together while the option is enabled.
  AllowCaseInsensitiveLookup,
  /// If enabled, module hooks may run concurrently across requests, including
  /// multiple invocations of the same module. By default, each synchronous or
  /// asynchronous hook phase runs exclusively across its module collection.
  ///
  /// This option is shared by cloned routers, including running servers.
  /// Changes apply when a hook phase selects its scheduling mode. An exclusive
  /// phase waits for any concurrent phases to finish before invoking hooks.
  /// Poisoned synchronous modules are skipped in either mode.
  AllowConcurrentModules,
}