diff options
author | Greg Wilkins | 2014-08-20 00:27:27 +0000 |
---|---|---|
committer | Greg Wilkins | 2014-08-20 00:27:27 +0000 |
commit | e15a87f4993d44042a7ac8d7264b71486c3419fe (patch) | |
tree | 58505a204719912ec1d354f08ade4fa1eb6362ac /jetty-server/src | |
parent | 0331992d861cd29165aa6a06018f8871416d480b (diff) | |
download | org.eclipse.jetty.project-e15a87f4993d44042a7ac8d7264b71486c3419fe.tar.gz org.eclipse.jetty.project-e15a87f4993d44042a7ac8d7264b71486c3419fe.tar.xz org.eclipse.jetty.project-e15a87f4993d44042a7ac8d7264b71486c3419fe.zip |
440255 ensure 500 is logged on thrown Errors
Diffstat (limited to 'jetty-server/src')
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java | 5 | ||||
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/handler/RequestLogHandler.java | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java index ba33c2e461..ee99477ef8 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java @@ -361,7 +361,10 @@ public class HttpChannel<T> implements HttpParser.RequestHandler<T>, Runnable, H else { error=true; - throw e; + LOG.warn(String.valueOf(_uri), e); + _state.error(e); + _request.setHandled(true); + handleException(e); } } catch (Exception e) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/RequestLogHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/RequestLogHandler.java index 706b988bff..f2edf937d2 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/RequestLogHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/RequestLogHandler.java @@ -66,6 +66,9 @@ public class RequestLogHandler extends HandlerWrapper @Override public void onError(AsyncEvent event) throws IOException { + HttpServletResponse response = (HttpServletResponse)event.getAsyncContext().getResponse(); + if (!response.isCommitted()) + response.setStatus(500); } @@ -91,6 +94,12 @@ public class RequestLogHandler extends HandlerWrapper { super.handle(target, baseRequest, request, response); } + catch(Error|IOException|ServletException|RuntimeException e) + { + if (!response.isCommitted()) + response.setStatus(500); + throw e; + } finally { if (_requestLog != null && baseRequest.getDispatcherType().equals(DispatcherType.REQUEST)) |