diff --git a/rapidoid-http-fast/src/main/java/org/rapidoid/http/customize/DefaultErrorHandler.java b/rapidoid-http-fast/src/main/java/org/rapidoid/http/customize/DefaultErrorHandler.java index 03337d4f2d..3a82000921 100644 --- a/rapidoid-http-fast/src/main/java/org/rapidoid/http/customize/DefaultErrorHandler.java +++ b/rapidoid-http-fast/src/main/java/org/rapidoid/http/customize/DefaultErrorHandler.java @@ -39,17 +39,24 @@ public Object handleError(Req req, Resp resp, Throwable error) { if (error instanceof SecurityException) { Log.warn("Access denied for request: " + req, "client", req.clientIpAddress()); - return resp.view("login").mvc(true); + } else { + Log.error("Error occurred when handling request: " + req, error); } - Log.error("Error occurred when handling request: " + req, error); - if (resp.contentType() == MediaType.JSON_UTF_8) { return HttpUtils.getErrorInfo(resp, error); } else if (resp.contentType() == MediaType.PLAIN_TEXT_UTF_8) { return HttpUtils.getErrorMessage(resp, error); + } else { + return page(resp, error); + } + } + + private Object page(Resp resp, Throwable error) { + if (error instanceof SecurityException) { + return resp.view("login").mvc(true); } else { Map errorInfo = HttpUtils.getErrorInfo(resp, error); resp.model().put("error", errorInfo);