web-inv-route: Composable, reversible, efficient web routing based on 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]
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.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
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 (info) |
---|---|
Dependencies | base (>=4.8 && <4.11), 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 |
Author | Dylan Simon |
Maintainer | dylan@dylex.net |
Revised | Revision 2 made by HerbertValerioRiedel at 2019-06-01T08:52:08Z |
Category | Web |
Source repo | head: git clone https://github.com/dylex/web-inv-route |
Uploaded | by DylanSimon at 2016-05-23T15:24:48Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 3789 total (4 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2016-05-23 [all 1 reports] |