aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-12-06 12:45:22 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-12-06 12:45:22 +0100
commit2714d1971c8c9ba748bfc03d272f45a9c2e0f191 (patch)
treec7beaf673ae0c0e6416ddb7dbbdfb94ac2f5b929
parent9853a5e5473c662713806d679245c7679977eea5 (diff)
Add optional /api prefix to /deployment/v1 API
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java12
2 files changed, 7 insertions, 7 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java
index 26bf189dd3d..665a023b7d2 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java
@@ -174,13 +174,13 @@ enum PathGroup {
/** Paths which contain (not very strictly) classified information about, e.g., customers. */
classifiedInfo("/cost/v1/{*}",
- "/deployment/v1/{*}",
"/",
"/d/{*}",
"/statuspage/v1/{*}"),
/** Same as classifiedInfo, but with optional /api prefix */
classifiedApiInfo(Optional.of("/api"),
+ "/deployment/v1/{*}",
"/user/v1/user"),
/** Paths providing public information. */
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java
index e33f6f0963b..126579263a9 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java
@@ -8,14 +8,14 @@ import com.yahoo.config.provision.HostName;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.container.jdisc.LoggingRequestHandler;
+import com.yahoo.restapi.ErrorResponse;
import com.yahoo.restapi.Path;
+import com.yahoo.restapi.SlimeJsonResponse;
+import com.yahoo.restapi.Uri;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.application.ApplicationList;
-import com.yahoo.restapi.ErrorResponse;
-import com.yahoo.restapi.SlimeJsonResponse;
-import com.yahoo.restapi.Uri;
import com.yahoo.vespa.hosted.controller.application.TenantAndApplicationId;
import com.yahoo.vespa.hosted.controller.deployment.JobList;
import com.yahoo.vespa.hosted.controller.deployment.Run;
@@ -31,8 +31,6 @@ import java.util.Optional;
import java.util.logging.Level;
import java.util.stream.Collectors;
-import static java.util.Comparator.comparing;
-
/**
* This implements the deployment/v1 API which provides information about the status of Vespa platform and
* application deployments.
@@ -42,6 +40,8 @@ import static java.util.Comparator.comparing;
@SuppressWarnings("unused") // Injected
public class DeploymentApiHandler extends LoggingRequestHandler {
+ private static final String OPTIONAL_PREFIX = "/api";
+
private final Controller controller;
public DeploymentApiHandler(LoggingRequestHandler.Context parentCtx, Controller controller) {
@@ -68,7 +68,7 @@ public class DeploymentApiHandler extends LoggingRequestHandler {
}
private HttpResponse handleGET(HttpRequest request) {
- Path path = new Path(request.getUri());
+ Path path = new Path(request.getUri(), OPTIONAL_PREFIX);
if (path.matches("/deployment/v1/")) return root(request);
return ErrorResponse.notFoundError("Nothing at " + path);
}