diff --git a/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java b/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java index d1a472a24af02881b73b6a71ed7ac201ca8d6064..f516b2c0728f954c69938a1c4636d5f78798eaba 100644 --- a/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java +++ b/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java @@ -17,6 +17,9 @@ */ package de.thm.arsnova.controller; +import java.util.HashMap; +import java.util.Map; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -35,9 +38,9 @@ import de.thm.arsnova.exceptions.ForbiddenException; import de.thm.arsnova.exceptions.NoContentException; import de.thm.arsnova.exceptions.NotFoundException; import de.thm.arsnova.exceptions.NotImplementedException; +import de.thm.arsnova.exceptions.PayloadTooLargeException; import de.thm.arsnova.exceptions.PreconditionFailedException; import de.thm.arsnova.exceptions.UnauthorizedException; -import de.thm.arsnova.exceptions.PayloadTooLargeException; /** * Translates security/authentication related exceptions into HTTP status codes. @@ -45,6 +48,19 @@ import de.thm.arsnova.exceptions.PayloadTooLargeException; @ControllerAdvice public class SecurityExceptionControllerAdvice { + @ExceptionHandler + @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) + public Map<String,String> defaultExceptionHandler( + final Exception e, + final HttpServletRequest req + ) { + final Map<String, String> result = new HashMap<String, String>(); + result.put("code", "500"); + result.put("status", "Internal server error"); + result.put("message", e.getMessage()); + return result; + } + @ResponseStatus(HttpStatus.NOT_FOUND) @ExceptionHandler(NotFoundException.class) public void handleNotFoundException(final Exception e, final HttpServletRequest request) {