0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Document some undefined behavior in cowboy_router

This commit is contained in:
Loïc Hoguin 2018-11-14 16:42:46 +01:00
parent c65e3ff20e
commit f0cae8dbcf
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
2 changed files with 10 additions and 0 deletions

View file

@ -124,6 +124,14 @@ You can also have imbricated optional segments.
[source,erlang]
PathMatch = "/hats/[page/[:number]]".
While Cowboy does not reject multiple brackets in a route,
the behavior may be undefined if the route is under-specified.
For example, this route requires constraints to determine what
is a chapter and what is a page, since they are both optional:
[source,erlang]
PathMatch = "/book/[:chapter]/[:page]".
You can retrieve the rest of the host or path using `[...]`.
In the case of hosts it will match anything before, in the case
of paths anything after the previously matched segments. It is

View file

@ -428,6 +428,8 @@ compile_test_() ->
{[<<"horses">>], [], h, o},
{[<<"hats">>], [], h, o},
{[<<"hats">>, <<"page">>, number], [], h, o}]}]},
{[{'_', [{"/hats/:page/:number", h, o}]}], [{'_', [], [
{[<<"hats">>, page, number], [], h, o}]}]},
{[{'_', [{"/hats/[page/[:number]]", h, o}]}], [{'_', [], [
{[<<"hats">>], [], h, o},
{[<<"hats">>, <<"page">>], [], h, o},