From b437ea9fc13457f49c529d9941fd6d58b3d8bc0e Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Tue, 7 Jul 2020 16:57:28 +0200 Subject: Don't log invalid requests for filter execution on servlets Fix bug where a malformed uri to servlet/JAX-RS resource would trigger an unhandled request exception. Jetty logs unhandled exceptions from filters/servlets as warning with full stack trace. --- .../yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java index 609456c562a..f6f07d874d9 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java @@ -55,7 +55,13 @@ class JDiscFilterInvokerFilter implements Filter { HttpServletRequest httpRequest = (HttpServletRequest)request; HttpServletResponse httpResponse = (HttpServletResponse)response; - URI uri = HttpRequestFactory.getUri(httpRequest); + URI uri; + try { + uri = HttpRequestFactory.getUri(httpRequest); + } catch (RequestException e) { + httpResponse.sendError(e.getResponseStatus(), e.getMessage()); + return; + } AtomicReference responseReturned = new AtomicReference<>(null); -- cgit v1.2.3