summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-03-22 17:50:51 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-03-23 18:21:22 +0100
commitbcb2d008705d9116d0cc2035f2e028299bfbf247 (patch)
tree2307e37c6d4c7e4b61a2330a8090691445f7332d /container-core
parent912b75f30785313e62d514f7ca936f6a8e18df50 (diff)
Retrieve path suffix with '*'
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java
index eeabcc3fc74..e09832a67af 100644
--- a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java
+++ b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java
@@ -219,7 +219,14 @@ class RestApiImpl implements RestApi {
}
private class PathParametersImpl implements RestApi.RequestContext.PathParameters {
- @Override public Optional<String> getString(String name) { return Optional.ofNullable(pathMatcher.get(name)); }
+ @Override
+ public Optional<String> getString(String name) {
+ if (name.equals("*")) {
+ String rest = pathMatcher.getRest();
+ return rest.isEmpty() ? Optional.empty() : Optional.of(rest);
+ }
+ return Optional.ofNullable(pathMatcher.get(name));
+ }
@Override public String getStringOrThrow(String name) {
return getString(name)
.orElseThrow(() -> new RestApiException.BadRequest("Path parameter '" + name + "' is missing"));