From 0962eacc13dd9cb08b2470886c1a9900aca9efc4 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 2 Nov 2020 11:15:43 -0600 Subject: [PATCH] Issue #5539 - Cleanup, adding javadoc, etc. Signed-off-by: Joakim Erdfelt --- .../jetty/servlet/StatisticsServlet.java | 13 ++++++++++++ .../jetty/servlet/StatisticsServletTest.java | 20 ++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java index 889f7f3b2f25..a453e1326386 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java @@ -54,6 +54,19 @@ import static java.nio.charset.StandardCharsets.UTF_8; +/** + * Collect and report statistics about requests / responses / connections and more. + *

+ * You can use normal HTTP content negotiation to ask for the statistics. + * Specify a request Accept header for one of the following formats: + *

+ *

+ */ public class StatisticsServlet extends HttpServlet { private static final Logger LOG = Log.getLogger(StatisticsServlet.class); diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/StatisticsServletTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/StatisticsServletTest.java index 5590d9bd2850..576b961f631a 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/StatisticsServletTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/StatisticsServletTest.java @@ -90,7 +90,7 @@ private void addStatisticsHandler() } @Test - public void getStats() + public void testGetStats() throws Exception { addStatisticsHandler(); @@ -103,7 +103,7 @@ public void getStats() assertEquals(response.getStatus(), 200); // Look for 200 response that was tracked - response = getResponse("/stats?xml=true"); + response = getResponse("/stats"); assertEquals(response.getStatus(), 200); Stats stats = parseStats(response.getContent()); @@ -114,7 +114,7 @@ public void getStats() assertEquals(response.getStatus(), 200); // Request stats again - response = getResponse("/stats?xml=true"); + response = getResponse("/stats"); assertEquals(response.getStatus(), 200); stats = parseStats(response.getContent()); @@ -128,7 +128,7 @@ public void getStats() assertEquals(response.getStatus(), 404); // Request stats again - response = getResponse("/stats?xml=true"); + response = getResponse("/stats"); assertEquals(response.getStatus(), 200); stats = parseStats(response.getContent()); @@ -142,7 +142,7 @@ public void getStats() } @Test - public void getXmlResponse() + public void testGetXmlResponse() throws Exception { addStatisticsHandler(); @@ -166,6 +166,7 @@ public void getXmlResponse() // Parse it, make sure it's well formed. DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); + docBuilderFactory.setValidating(false); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); try (ByteArrayInputStream input = new ByteArrayInputStream(response.getContentBytes())) { @@ -176,7 +177,7 @@ public void getXmlResponse() } @Test - public void getJsonResponse() + public void testGetJsonResponse() throws Exception { addStatisticsHandler(); @@ -213,7 +214,7 @@ public void getJsonResponse() } @Test - public void getTextResponse() + public void testGetTextResponse() throws Exception { addStatisticsHandler(); @@ -243,7 +244,7 @@ public void getTextResponse() } @Test - public void getHtmlResponse() + public void testGetHtmlResponse() throws Exception { addStatisticsHandler(); @@ -263,7 +264,7 @@ public void getHtmlResponse() assertThat("Response.contentType", response.get(HttpHeader.CONTENT_TYPE), containsString("text/html")); - System.out.println(response.getContent()); + // System.out.println(response.getContent()); // Look for things that indicate it's a well formed HTML output assertThat(response.getContent(), containsString("")); @@ -281,6 +282,7 @@ public HttpTester.Response getResponse(String path) { HttpTester.Request request = new HttpTester.Request(); request.setMethod("GET"); + request.setHeader("Accept", "text/xml"); request.setURI(path); request.setVersion(HttpVersion.HTTP_1_1); request.setHeader("Host", "test");