akka/akka-http
View on GitHubProvide Segments path directive that matches 0 to n segments regardless of leading slashes
Open
#879 opened on Feb 20, 2017
1 - triagedhelp wantedt:routing
Description
The existing Segments PathMatcher is mostly useful when trailing slashes are enforced everywhere. When no trailing slashes it is a bit more complicated right now to get a list of segments.
The implementation can be basically this:
def pathSegments: Directive1[List[String]] = (Slash ~ Segment).repeat(0, 128, PathMatchers.Neutral) ~ PathEnd // or PathEndOrSingleSlash?
It would allow to use
pathPrefix("tree") {
pathSegments { segments =>
...
}
}
which would match all of
/tree/tree/abc/tree/abc/def
but not
/tree//tree/abc/
/cc @lihaoyi