diff options
author | valerijf <valerijf@yahoo-inc.com> | 2016-09-28 16:13:14 +0200 |
---|---|---|
committer | valerijf <valerijf@yahoo-inc.com> | 2016-09-29 09:45:47 +0200 |
commit | cf58f368b71543ddbe8298fbc4d3cd024e3d7515 (patch) | |
tree | 6fc95a91f244b4c1062918dc88988b90b7c5ed70 | |
parent | d41a9c1af113fc576efff82aa90def1ecd5073b1 (diff) |
Added content type to REST API response
2 files changed, 25 insertions, 17 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/RestApiHandler.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/RestApiHandler.java index 8d1e2924612..df27a610e17 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/RestApiHandler.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/RestApiHandler.java @@ -49,27 +49,15 @@ public class RestApiHandler extends LoggingRequestHandler{ return handlePut(request); } return new SimpleResponse(400, "Only PUT and GET are implemented."); - } private HttpResponse handleGet(HttpRequest request) { String path = request.getUri().getPath(); if (path.endsWith("/info")) { - return new HttpResponse(200) { - @Override - public void render(OutputStream outputStream) throws IOException { - objectMapper.writeValue(outputStream, refresher.getDebugPage()); - } - }; - } else if (path.endsWith("/metrics")) { - return new HttpResponse(200) { - @Override - public void render(OutputStream outputStream) throws IOException { - objectMapper.writerWithDefaultPrettyPrinter() - .writeValue(outputStream, secretAgentHandler.getSecretAgentReport()); - outputStream.write("\n".getBytes()); - } - }; + return new SimpleObjectResponse(200, refresher.getDebugPage()); + } + if (path.endsWith("/metrics")) { + return new SimpleObjectResponse(200, secretAgentHandler.getSecretAgentReport()); } return new SimpleResponse(400, "unknown path" + path); } @@ -95,7 +83,6 @@ public class RestApiHandler extends LoggingRequestHandler{ } private static class SimpleResponse extends HttpResponse { - private final String jsonMessage; public SimpleResponse(int code, String message) { @@ -116,4 +103,22 @@ public class RestApiHandler extends LoggingRequestHandler{ } } + private static class SimpleObjectResponse extends HttpResponse { + private final Object response; + + public SimpleObjectResponse(int status, Object response) { + super(status); + this.response = response; + } + + @Override + public String getContentType() { + return MediaType.APPLICATION_JSON; + } + + @Override + public void render(OutputStream outputStream) throws IOException { + objectMapper.writeValue(outputStream, response); + } + } } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/SecretAgentHandler.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/SecretAgentHandler.java index 617f26cb8dd..5d09a609e4f 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/SecretAgentHandler.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/SecretAgentHandler.java @@ -7,6 +7,9 @@ import java.util.LinkedHashMap; import java.util.Map; /** + * Collects last value from all the previously declared counters/gauges and genereates a map + * structure that can be converted to secret-agent JSON message + * * @author valerijf */ public class SecretAgentHandler { |