From d04771c7ef5cdab9554aa6aef506a39c8e2bd3d4 Mon Sep 17 00:00:00 2001 From: Moulberry Date: Wed, 22 Jul 2020 03:54:59 +1000 Subject: less scuffed profile viewer :) --- .../notenoughupdates/util/HypixelApi.java | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java b/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java index 133619ae..05351629 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java @@ -27,24 +27,28 @@ public class HypixelApi { private ExecutorService es = Executors.newCachedThreadPool(); public void getHypixelApiAsync(String apiKey, String method, HashMap args, Consumer consumer) { - getHypixelApiAsync(generateApiUrl(apiKey.trim(), method, args), consumer); + getHypixelApiAsync(apiKey, method, args, consumer, () -> {}); } - public void getHypixelApiAsync(String urlS, Consumer consumer) { + public void getHypixelApiAsync(String apiKey, String method, HashMap args, Consumer consumer, Runnable error) { + getHypixelApiAsync(generateApiUrl(apiKey.trim(), method, args), consumer, error); + } + + public void getHypixelApiAsync(String urlS, Consumer consumer, Runnable error) { es.submit(() -> { - consumer.accept(getHypixelApiSync(urlS)); + try { + consumer.accept(getHypixelApiSync(urlS)); + } catch(IOException e) { + error.run(); + } }); } - public JsonObject getHypixelApiSync(String urlS) { - URLConnection connection; - try { - URL url = new URL(urlS); - connection = url.openConnection(); - connection.setConnectTimeout(3000); - } catch(IOException e) { - return null; - } + public JsonObject getHypixelApiSync(String urlS) throws IOException { + + URL url = new URL(urlS); + URLConnection connection = url.openConnection(); + connection.setConnectTimeout(3000); try(BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder builder = new StringBuilder(); @@ -56,8 +60,6 @@ public class HypixelApi { JsonObject json = gson.fromJson(response, JsonObject.class); return json; - } catch(IOException e) { - return null; } } -- cgit