From f0cae8dbcf8d07035be069860fc4b22f7577d154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 14 Nov 2018 16:42:46 +0100 Subject: Document some undefined behavior in cowboy_router --- doc/src/guide/routing.asciidoc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc/src') diff --git a/doc/src/guide/routing.asciidoc b/doc/src/guide/routing.asciidoc index 47ef3c5..e5f8c33 100644 --- a/doc/src/guide/routing.asciidoc +++ b/doc/src/guide/routing.asciidoc @@ -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 -- cgit v1.2.3