diff --git a/pom.xml b/pom.xml index 8e27daf..d8ef3ba 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.umutayb wasapi - 0.0.1 + 0.0.2 jar Wasapi diff --git a/src/main/java/wasapi/Caller.java b/src/main/java/wasapi/Caller.java index a46c89a..01aad55 100644 --- a/src/main/java/wasapi/Caller.java +++ b/src/main/java/wasapi/Caller.java @@ -182,16 +182,18 @@ private static Response getResponse(Call call, boolean printBody) thro } else { log.warning("The response code is: " + response.code()); - if (response.message().length()>0) log.warning(response.message()); - if (response.errorBody() != null && printBody) { - Object errorBody = isOfType(response, Object.class) ? - getJsonString(getErrorObject(response, Object.class)) : - response.errorBody().string(); - String errorLog = errorBody.equals("null") ? - "The error body is empty." : - "The error body is: \n" + errorBody; - log.warning(errorLog); - } + if (!response.message().isEmpty()) log.warning(response.message()); + if (printBody) + try (Buffer errorBuffer = response.errorBody().source().getBuffer().clone()) { + String bodyString = errorBuffer.readString(StandardCharsets.UTF_8); + + String errorLog = bodyString.equals("null") || bodyString.isBlank() ? + "The error body is empty." : + "The error body is: \n" + bodyString; + log.warning(errorLog); + } + + return Response.error(response.errorBody(), response.raw()); } } @@ -212,7 +214,6 @@ private static Response getResponse(Call call, boolean printBody) thro */ @SuppressWarnings("unchecked") private static ErrorModel getErrorObject(Response response, Class errorModel) throws JsonProcessingException { - assert response.errorBody() != null; if (errorModel.isAssignableFrom(ResponseBody.class)) return (ErrorModel) response.errorBody(); try (Buffer errorBuffer = response.errorBody().source().getBuffer().clone()) {