web-inv-route: Composable, reversible, efficient web routing using invertible invariants and bijections
Utilities to route HTTP requests, mainly focused on path components. Routes are specified using bijections and invariant functors, allowing run-time composition (routes can be distributed across modules), reverse and forward routing derived from the same specification, and O(log n) lookups.
There are four steps/components of this package.
Route endpoint specification: Web.Route.Invertible.Common
Route map construction: Web.Route.Invertible.Common
Route map lookup: Web.Route.Invertible (for the generic interface), Web.Route.Invertible.Wai, Web.Route.Invertible.Snap, or Web.Route.Invertible.Happstack
Reverse routing: Web.Route.Invertible or Web.Route.Invertible.URI
Most users will just want to import a framework-specific module like Web.Route.Invertible.Wai (or the generic Web.Route.Invertible), each of which re-exports Web.Route.Invertible.Common. See test/Main.hs for some examples.
Modules
[Index] [Quick Jump]
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| uri | Support constructing URIs from routes | Enabled |
| wai | Provide WAI-compatible interfaces | Enabled |
| snap | Provide Snap-compatible interfaces | Enabled |
| happstack | Provide Happstack-compatible interfaces | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- web-inv-route-0.1.3.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1, 0.1.1, 0.1.2, 0.1.2.1, 0.1.2.2, 0.1.2.3, 0.1.3.0, 0.1.3.1, 0.1.3.2, 0.1.3.3 (info) |
|---|---|
| Dependencies | base (>=4.9 && <5), bytestring (>=0.10), case-insensitive, containers (>=0.5), happstack-server (>=7), hashable, http-types (>=0.9), invertible (>0.1), network-uri (>=2.6.1), snap-core (>=0.9), text (>=0.10), transformers, unordered-containers, wai (>=1) [details] |
| License | BSD-3-Clause |
| Copyright | 2016-2018 |
| Author | Dylan Simon |
| Maintainer | dylan@dylex.net |
| Category | Web |
| Source repo | head: git clone https://github.com/dylex/web-inv-route |
| Uploaded | by DylanSimon at 2025-09-11T12:34:12Z |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 3868 total (24 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2025-09-11 [all 1 reports] |