From b0135776f85b09ea4dd1f0b52098030cb2c66e8d Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 2 May 2017 08:12:12 -0400 Subject: [PATCH] http service: close response body --- .../net/runelite/http/api/hiscore/HiscoreClient.java | 8 ++++++-- .../runelite/http/service/hiscore/HiscoreService.java | 9 ++++++++- .../net/runelite/http/service/worlds/WorldsService.java | 7 ++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java index 9793fc6c5f..9753d13f25 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java @@ -34,6 +34,7 @@ import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +import okhttp3.ResponseBody; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,7 +61,10 @@ public class HiscoreClient Response response = client.newCall(request).execute(); - InputStream in = response.body().byteStream(); - return gson.fromJson(new InputStreamReader(in), HiscoreResult.class); + try (ResponseBody body = response.body()) + { + InputStream in = body.byteStream(); + return gson.fromJson(new InputStreamReader(in), HiscoreResult.class); + } } } diff --git a/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java b/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java index d4bf0af88b..e88ff4144b 100644 --- a/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java +++ b/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java @@ -32,6 +32,7 @@ import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +import okhttp3.ResponseBody; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; @@ -53,8 +54,14 @@ public class HiscoreService .build(); Response response = client.newCall(request).execute(); + String responseStr; + + try (ResponseBody body = response.body()) + { + responseStr = body.string(); + } - CSVParser parser = CSVParser.parse(response.body().string(), CSVFormat.DEFAULT); + CSVParser parser = CSVParser.parse(responseStr, CSVFormat.DEFAULT); HiscoreResultBuilder hiscoreBuilder = new HiscoreResultBuilder(); hiscoreBuilder.setPlayer(username); diff --git a/http-service/src/main/java/net/runelite/http/service/worlds/WorldsService.java b/http-service/src/main/java/net/runelite/http/service/worlds/WorldsService.java index 8efeb30ada..e27b381e56 100644 --- a/http-service/src/main/java/net/runelite/http/service/worlds/WorldsService.java +++ b/http-service/src/main/java/net/runelite/http/service/worlds/WorldsService.java @@ -35,6 +35,7 @@ import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +import okhttp3.ResponseBody; public class WorldsService { @@ -50,8 +51,12 @@ public class WorldsService .build(); Response response = client.newCall(request).execute(); + byte[] b; - byte[] b = response.body().bytes(); + try (ResponseBody body = response.body()) + { + b = body.bytes(); + } List worlds = new ArrayList<>(); ByteBuffer buf = ByteBuffer.wrap(b);