From 8d8eacd73f785ca13d62be4e4dd1debe08c1e1b1 Mon Sep 17 00:00:00 2001 From: BrainStone Date: Sat, 7 Sep 2019 20:57:29 +0200 Subject: [PATCH] Better logging of network errors - Fixes #3 --- .../aura/updatechecker/checker/OreAPI.java | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/main/java/dev/aura/updatechecker/checker/OreAPI.java b/src/main/java/dev/aura/updatechecker/checker/OreAPI.java index e19ae00..3538bb3 100644 --- a/src/main/java/dev/aura/updatechecker/checker/OreAPI.java +++ b/src/main/java/dev/aura/updatechecker/checker/OreAPI.java @@ -13,6 +13,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.net.ProtocolException; +import java.net.SocketTimeoutException; import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.StandardCharsets; @@ -57,11 +58,13 @@ public static boolean isOnOre(PluginContainer plugin) { connection.connect(); return connection.getResponseCode() == 200; + } catch (SocketTimeoutException e) { + printNetworkError(plugin, e); } catch (ClassCastException | IOException | URISyntaxException e) { printErrorMessage(plugin, e); - - return false; } + + return false; } public static Optional getRecommendedVersion(PluginContainer plugin) { @@ -92,11 +95,13 @@ public static Optional getRecommendedVersion(PluginContainer plugin) { recommendedVersion))); return Optional.of(new Version(recommendedVersion)); + } catch (SocketTimeoutException e) { + printNetworkError(plugin, e); } catch (ClassCastException | IOException | URISyntaxException | IllegalStateException e) { printErrorMessage(plugin, e); - - return Optional.empty(); } + + return Optional.empty(); } public static Optional> getAllVersions(PluginContainer plugin) { @@ -149,11 +154,13 @@ public static Optional> getAllVersions(PluginContainer .collect(Collectors.joining("\n\t", "\t", ""))))); return Optional.of(allVersions); + } catch (SocketTimeoutException e) { + printNetworkError(plugin, e); } catch (ClassCastException | IOException | URISyntaxException | ParseException e) { printErrorMessage(plugin, e); - - return Optional.empty(); } + + return Optional.empty(); } public static Optional getPluginVersionInfo(PluginContainer plugin) { @@ -211,6 +218,21 @@ private static void printErrorMessage(PluginContainer plugin, Throwable e) { } } + private static void printNetworkError(PluginContainer plugin, Throwable e) { + final Logger logger = AuraUpdateChecker.getLogger(); + final String message = + PluginMessages.LOG_CONTACTING_ERROR.getMessageRaw( + ImmutableMap.of("plugin", PluginContainerUtil.getPluginString(plugin))); + + logger.warn(message); + + if (AuraUpdateChecker.getConfig().getGeneral().getDebug()) { + logger.info("[Debug]: " + message, e); + } else { + logger.debug(message, e); + } + } + private static void logWarn(String message, Throwable e) { final Logger logger = AuraUpdateChecker.getLogger();