homepage: ''
changelog-type: ''
hash: 7749c82609ebd93605164fa25a22f6ab0e633b50c588343ea72a45a7d59afe46
test-bench-deps:
  bytestring: -any
  base: -any
  text: -any
  HUnit: -any
  network-uri: -any
  web-inv-route: -any
maintainer: dylan@dylex.net
synopsis: Composable, reversible, efficient web routing based on invertible invariants
  and bijections
changelog: ''
basic-deps:
  bytestring: ! '>=0.10'
  happstack-server: ! '>=7'
  wai: ! '>=1'
  case-insensitive: -any
  base: ! '>=4.8 && <5'
  unordered-containers: -any
  text: ! '>=0.10'
  invertible: ! '>0.1'
  containers: ! '>=0.5'
  snap-core: ! '>=0.9'
  network-uri: -any
  hashable: -any
  transformers: -any
  http-types: ! '>=0.9'
all-versions:
- '0.1'
author: Dylan Simon
latest: '0.1'
description-type: haddock
description: ! '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.


  1. Route endpoint specification: "Web.Route.Invertible.Common"

  2. Route map construction: "Web.Route.Invertible.Common"

  3. Route map lookup: "Web.Route.Invertible" (for the generic interface), "Web.Route.Invertible.Wai",
  "Web.Route.Invertible.Snap", or "Web.Route.Invertible.Happstack"

  4. 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.'
license-name: BSD3

Update from Hackage at 2016-05-23T15:42:18+0000
Update from Hackage at 2016-05-23T15:42:18+0000
