From 31a23eebae06d94de5dc3cb402130c0c7aa66991 Mon Sep 17 00:00:00 2001 From: Olli Virtanen Date: Tue, 7 Aug 2018 12:43:57 +0200 Subject: Add HTTP methods OPTIONS & HEAD to enum; rename UNKNOWN to OTHER to be less mysterious --- .../http/server/jetty/HttpResponseStatisticsCollector.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server') diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollector.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollector.java index afee0249ff3..3a121e8b1ed 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollector.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollector.java @@ -37,7 +37,7 @@ public class HttpResponseStatisticsCollector extends HandlerWrapper implements G private final AtomicReference shutdown = new AtomicReference<>(); public static enum HttpMethod { - GET, PATCH, POST, PUT, DELETE, UNKNOWN + GET, PATCH, POST, PUT, DELETE, OPTIONS, HEAD, OTHER } private static final String[] HTTP_RESPONSE_GROUPS = { Metrics.RESPONSES_1XX, Metrics.RESPONSES_2XX, Metrics.RESPONSES_3XX, @@ -85,6 +85,7 @@ public class HttpResponseStatisticsCollector extends HandlerWrapper implements G throws IOException, ServletException { inFlight.incrementAndGet(); + /* The control flow logic here is mostly a copy from org.eclipse.jetty.server.handler.StatisticsHandler.handle(..) */ try { Handler handler = getHandler(); if (handler != null && shutdown.get() == null && isStarted()) { @@ -150,8 +151,12 @@ public class HttpResponseStatisticsCollector extends HandlerWrapper implements G return HttpMethod.PUT; case "DELETE": return HttpMethod.DELETE; + case "OPTIONS": + return HttpMethod.OPTIONS; + case "HEAD": + return HttpMethod.HEAD; default: - return HttpMethod.UNKNOWN; + return HttpMethod.OTHER; } } @@ -188,6 +193,8 @@ public class HttpResponseStatisticsCollector extends HandlerWrapper implements G @Override public Future shutdown() { + /* This shutdown callback logic is a copy from org.eclipse.jetty.server.handler.StatisticsHandler */ + FutureCallback shutdownCb = new FutureCallback(false); shutdown.compareAndSet(null, shutdownCb); shutdownCb = shutdown.get(); -- cgit v1.2.3