- private static String extractDetails(final CpsException exception) {
- return exception.getCause() == null
- ? exception.getDetails()
- : ExceptionUtils.getStackTrace(exception.getCause());
+ private static ResponseEntity<Object> buildErrorResponse(final HttpStatus status, final Exception exception) {
+ if (exception.getCause() != null || !(exception instanceof CpsException)) {
+ log.error("Exception occurred", exception);
+ }
+ final var errorMessage = new ErrorMessage();
+ errorMessage.setStatus(status.toString());
+ errorMessage.setMessage(exception.getMessage());
+ errorMessage.setDetails(exception instanceof CpsException ? ((CpsException) exception).getDetails() :
+ "Check logs for details.");
+ return new ResponseEntity<>(errorMessage, status);