package routes

  1. Overview
  2. Docs
Typed routing for OCaml applications

Install

Dune Dependency

Authors

Maintainers

Sources

routes-1.0.0.tbz
sha256=5929404834c0d545fe3615b7f3f5ee2e43a47708c8c73d0e5245fa35dda244e8
sha512=3e7afe9d01822e8c5c3c77b2f7ea989a2bc7ee7f8b55c1401d81950d7a245c7486279c5a6f6584a79254ce839fb361b402774941a9d4558fff2f11af75d4f339

CHANGES.md.html

1.0.0

  • First major release. No changes from 0.9.1

0.9.1

  • bucklescript: Use correct version number (0.9.1) in package.json

0.9.0

  • Add a labelled function to create custom patterns (#114)

  • Add support for union operation for two routers (#115, @Chattered)

  • Use dune language 2.0 (#116)

  • Support wildcard pattern at the end of a route (#118, #129, @Lupus)

  • Add map and path prefix to route targets (#121, @Chattered)

  • Make ksprintf visible in the public api (#123, @Chattered)

0.8.0

  • Improve trailing slash handling. Instead of separate nil and trail constructors, all routes end with nil. The trailing slash is controlled via /? for no trailing slash, and //? for trailing slash. (#111)

  • No longer possible to use nil unless it follows a pattern. To create a route that matches no path params, ex: "/" use empty. (#111)

0.7.3

  • Allow adding new routes to existing router. (#108, @tatchi)

  • Fix library name in bsconfig.json. (#109, @tsnobip)

  • Specify -O3 flag for ocamlopt when using dune's release profile. (#110)

0.7.2

  • Use bisect_ppx to generate coverage reports (#95)

  • Lower version constraint for dune and ocaml. Minimum versions needed are now dune 1.0 and OCaml 4.05.0 (#99, #100)

0.7.1

Note: 0.7.2 has the same content as 0.7.1 except for a dune file change needed for bisect_ppx

  • Use bisect_ppx to generate coverage reports (#95)

  • Lower version constraint for dune and ocaml. Minimum versions needed are now dune 1.0 and OCaml 4.05.0 (#99, #100)

0.7.0

This is a breaking release:

  • Reduce the number of combinators to two. '/' and '/?' (#80)

  • Routes are now bi-directional. They can be used for matching, and for printing via a sprintf style function (#80)

  • Its now possible to configure trailing slash on individual routes (#89)

  • Remove HTTP method handling (#92)

  • dune version needs to be >= 2.1

0.6.0

  • Improve mdx test tules (#73, @NathanReb)

  • Use github actions instead of travis ci (#70, #72)

  • Get human readable route pattern from a route (#64, #74)

  • Allow writing custom path match patterns (#76)

0.5.2

  • Support custom HTTP methods via Other of string (#58 , @sazarkin)

0.5.1

  • Allow user to decide if they want to keep or ignore trailing slash (#50)

0.5.0

  • Flatten nested skip-left actions.

  • Group routes based on the HTTP verb.

  • Use a trie based path matcher.

  • Add micro-benchmark suite.

0.4.2

  • Specialize apply for SkipLeft parsers.

  • Re-write routes for better matches.

0.4.1

  • Remove stdcompat (#33)

  • Add example using opium (#34)

0.4.0

  • Switch to using an applicative functor as parser. (#27)

  • Have a version of matching without HTTP methods. (#27)

  • Tokenize the path parameters into list of strings. (#27)

  • Add more tests for matchers. (#28)

  • s now returns the string it matches, instead of discarding it. (#29)

0.3.0

  • Extract string operations to its own module (#14)

  • Drop dependency on astring (#16)

  • Add pretty printers for utop (#18)

  • Accept a request that is in-turn forwarded to handlers (#22)

  • Use mdx to test examples in the readme file (#23)

0.2.0

  • Switched to a GADT representation of routes

  • Add support for using the same route type for both parsing and a sprintf like function

0.1.0

  • Initial version of router