diff --git a/core/src/main/java/google/registry/beam/spec11/SafeBrowsingTransforms.java b/core/src/main/java/google/registry/beam/spec11/SafeBrowsingTransforms.java index 430fe9442c1..265abfe147f 100644 --- a/core/src/main/java/google/registry/beam/spec11/SafeBrowsingTransforms.java +++ b/core/src/main/java/google/registry/beam/spec11/SafeBrowsingTransforms.java @@ -226,18 +226,18 @@ private JSONObject createRequestBody() throws JSONException { private void processResponse( CloseableHttpResponse response, ImmutableSet.Builder> resultBuilder) - throws JSONException, IOException { + throws IOException { int statusCode = response.getStatusLine().getStatusCode(); if (statusCode != SC_OK) { - logger.atWarning().log("Got unexpected status code %s from response.", statusCode); - } else { - // Unpack the response body - JSONObject responseBody = - new JSONObject( - CharStreams.toString( - new InputStreamReader(response.getEntity().getContent(), UTF_8))); + throw new IOException( + String.format("Got unexpected status code %s from response.", statusCode)); + } + // Unpack the response body + try (InputStreamReader reader = + new InputStreamReader(response.getEntity().getContent(), UTF_8)) { + JSONObject responseBody = new JSONObject(CharStreams.toString(reader)); logger.atInfo().log("Got response: %s", responseBody); - if (responseBody.length() == 0) { + if (responseBody.isEmpty()) { logger.atInfo().log("Response was empty, no threats detected."); } else { // Emit all DomainNameInfos with their API results.