001package io.konik.sdk.http;
002
003public class BadRequestException extends RuntimeException {
004
005        private final ErrorResponse errorResponse;
006
007        public BadRequestException(ErrorResponse errorResponse) {
008                this.errorResponse = errorResponse;
009        }
010
011        public ErrorResponse getErrorResponse() {
012                return errorResponse;
013        }
014
015        @Override
016        public String toString() {
017                StringBuilder stringBuilder = new StringBuilder("BadRequestException: " + errorResponse.getMessage());
018
019                System.out.println(errorResponse);
020
021                if (errorResponse.getErrors() != null && !errorResponse.getErrors().isEmpty()) {
022                        stringBuilder.append("\nReason:\n|");
023                        for (String key : errorResponse.getErrors().keySet()) {
024                                String message = errorResponse.getErrors().get(key);
025                                stringBuilder.append("\n");
026                                stringBuilder.append("|-- " + key + ": " + message);
027                        }
028                        stringBuilder.append("\n|_");
029                }
030                return stringBuilder.toString();
031        }
032}