cdist/docs/dev/logs/2012-02-10.object_id-and-slashes
Nico Schottelius 6d1e4d06cf doc -> docs (pypi)
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-10-25 17:17:52 +02:00

18 lines
757 B
Text

__typename /foo/bar # possible, usual use case
require="__a//b" __typename /foo/bar # possible and happens often for __a/$id in loops
__typename /foo/bar/ # trailing slash will be stripped, can be documented
__typename /foo//bar//baz # // will be converted to / implicitly through fs; error prone; disallow
require="__a//b//c" __typename # // will be converted to / implicitly through fs; error prone; disallow
Solution:
1) allow require __a//b: type __a, object id /b
=> strip first slash of object id, as we do in non-dep-mode
2) allow _one_ trailing /: __type /foo/bar/ and require="__foo/abc/"
=> strip one leading slash of object id
3) disallow // within object id
4) disallow starting or ending / after 1) and 2)