Fix the processing of an empty HTML response body from REST-API Change-Id: I23ce1b256b732ed10d6007e69bdc2179a8702dad
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java index 4db4ceb..2dd991c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java
@@ -198,13 +198,20 @@ @Override public HttpResult handleResponse(HttpResponse response) { - Optional<String> responseBody = Optional.empty(); - try { - responseBody = Optional.ofNullable(EntityUtils.toString(response.getEntity())); - } catch (ParseException | IOException e) { - logger.atSevere().withCause(e).log("Unable get response body from %s", response.toString()); - } + Optional<String> responseBody = + Optional.ofNullable(response.getEntity()) + .flatMap( + body -> { + try { + return Optional.of(EntityUtils.toString(body)); + } catch (ParseException | IOException e) { + logger.atSevere().withCause(e).log( + "Unable get response body from %s", response.toString()); + return Optional.empty(); + } + }); + return new HttpResult(response.getStatusLine().getStatusCode(), responseBody); }