summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvalerijf <valerijf@yahoo-inc.com>2016-09-28 16:13:14 +0200
committervalerijf <valerijf@yahoo-inc.com>2016-09-29 09:45:47 +0200
commitcf58f368b71543ddbe8298fbc4d3cd024e3d7515 (patch)
tree6fc95a91f244b4c1062918dc88988b90b7c5ed70
parentd41a9c1af113fc576efff82aa90def1ecd5073b1 (diff)
Added content type to REST API response
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/RestApiHandler.java39
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/restapi/SecretAgentHandler.java3
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 {