From dd5adf897af76ea63edbdf840e20e1c9d40bfed1 Mon Sep 17 00:00:00 2001 From: Stefan Kalscheuer Date: Sat, 27 Apr 2024 12:04:44 +0200 Subject: [PATCH] refactor: simplify JSON parsing in handleError() Omit reading lines to String first and pass the reader directly to the JSON mapper. --- .../connector/internal/RequestHelper.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/stklcode/jvault/connector/internal/RequestHelper.java b/src/main/java/de/stklcode/jvault/connector/internal/RequestHelper.java index 1cd4847..84ef815 100644 --- a/src/main/java/de/stklcode/jvault/connector/internal/RequestHelper.java +++ b/src/main/java/de/stklcode/jvault/connector/internal/RequestHelper.java @@ -431,18 +431,19 @@ public final class RequestHelper implements Serializable { * @throws VaultConnectorException Expected exception with details to throw */ private void handleError(final HttpResponse response) throws VaultConnectorException { - if (response.body() != null) { - try (var reader = new BufferedReader(new InputStreamReader(response.body(), UTF_8))) { - var responseString = reader.lines().collect(Collectors.joining("\n")); - ErrorResponse er = jsonMapper.readValue(responseString, ErrorResponse.class); - /* Check for "permission denied" response */ - if (!er.getErrors().isEmpty() && er.getErrors().get(0).equals("permission denied")) { - throw new PermissionDeniedException(); + try (var body = response.body()) { + if (body != null) { + try (var reader = new BufferedReader(new InputStreamReader(body, UTF_8))) { + ErrorResponse er = jsonMapper.readValue(reader, ErrorResponse.class); + /* Check for "permission denied" response */ + if (!er.getErrors().isEmpty() && er.getErrors().get(0).equals("permission denied")) { + throw new PermissionDeniedException(); + } + throw new InvalidResponseException(Error.RESPONSE_CODE, response.statusCode(), er.toString()); } - throw new InvalidResponseException(Error.RESPONSE_CODE, response.statusCode(), er.toString()); - } catch (IOException ignored) { - // Exception ignored. } + } catch (IOException ignored) { + // Exception ignored. } } }