From 35eea7aa3a9b15c1b65fb8045808a8faa84ee697 Mon Sep 17 00:00:00 2001 From: Sollace Date: Fri, 25 Nov 2022 19:50:52 +0000 Subject: [PATCH] Logging changes and cleanup --- .../voxelmodpack/hdskins/SkinUploader.java | 26 ++++++++++++------- .../hdskins/server/BethlehemSkinServer.java | 4 --- .../hdskins/server/HttpException.java | 11 -------- .../hdskins/server/LegacySkinServer.java | 4 +-- 4 files changed, 17 insertions(+), 28 deletions(-) diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/SkinUploader.java b/src/hdskins/java/com/voxelmodpack/hdskins/SkinUploader.java index 1b54a0a6..6542d087 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/SkinUploader.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/SkinUploader.java @@ -186,7 +186,7 @@ public class SkinUploader implements Closeable { try { gateway.performSkinUpload(new SkinUpload(mc.getSession(), skinType, localSkin == null ? null : localSkin.toURI(), skinMetadata)); setError(""); - } catch (IOException | AuthenticationException e) { + } catch (Exception e) { handleException(e); } }, HDSkinManager.skinUploadExecutor).thenRunAsync(this::fetchRemote); @@ -229,13 +229,7 @@ public class SkinUploader implements Closeable { fetchingSkin = false; - if (throwable instanceof AuthenticationUnavailableException) { - offline = true; - } else if (throwable instanceof InvalidCredentialsException) { - setError("Invalid session: Please try restarting Minecraft"); - } else if (throwable instanceof AuthenticationException) { - throttlingNeck = true; - } else if (throwable instanceof HttpException) { + if (throwable instanceof HttpException) { HttpException ex = (HttpException)throwable; int code = ex.getStatusCode(); @@ -246,10 +240,22 @@ public class SkinUploader implements Closeable { } else if (code >= 400 && code != 403 && code != 404) { logger.error(ex.getReasonPhrase(), ex); setError(ex.getReasonPhrase()); + } else { + logger.error(ex.getReasonPhrase(), ex); } } else { - logger.error("Unhandled exception", throwable); - setError(throwable.toString()); + logger.error("Unexpected error whilst contacting server at " + Objects.toString(gateway), throwable); + + if (throwable instanceof AuthenticationUnavailableException) { + offline = true; + } else if (throwable instanceof InvalidCredentialsException) { + setError("Invalid session: Please try restarting Minecraft"); + } else if (throwable instanceof AuthenticationException) { + throttlingNeck = true; + } else { + logger.error("Unhandled exception", throwable); + setError(throwable.toString()); + } } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/server/BethlehemSkinServer.java b/src/hdskins/java/com/voxelmodpack/hdskins/server/BethlehemSkinServer.java index 8109d13f..16d6ba79 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/server/BethlehemSkinServer.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/server/BethlehemSkinServer.java @@ -44,10 +44,6 @@ public class BethlehemSkinServer implements SkinServer { @Override public TexturePayload loadProfileData(GameProfile profile) throws IOException { try (MoreHttpResponses response = new NetClient("GET", getPath(profile)).send()) { - if (!response.ok()) { - throw new HttpException(response.response()); - } - return response.requireOk().json(TexturePayload.class, "Invalid texture payload"); } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/server/HttpException.java b/src/hdskins/java/com/voxelmodpack/hdskins/server/HttpException.java index 656a6eed..f2a2c1ff 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/server/HttpException.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/server/HttpException.java @@ -1,8 +1,5 @@ package com.voxelmodpack.hdskins.server; -import org.apache.http.HttpResponse; -import org.apache.http.StatusLine; - import java.io.IOException; public class HttpException extends IOException { @@ -12,14 +9,6 @@ public class HttpException extends IOException { private final int statusCode; - public HttpException(HttpResponse response) { - this(response.getStatusLine()); - } - - public HttpException(StatusLine status) { - this(status.getReasonPhrase(), status.getStatusCode(), null); - } - public HttpException(String reason, int statusCode, Throwable cause) { super("(" + statusCode + ") " + reason, cause); diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/server/LegacySkinServer.java b/src/hdskins/java/com/voxelmodpack/hdskins/server/LegacySkinServer.java index 82e9bd57..2edba9e9 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/server/LegacySkinServer.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/server/LegacySkinServer.java @@ -88,9 +88,7 @@ public class LegacySkinServer implements SkinServer { private MinecraftProfileTexture loadProfileTexture(GameProfile profile, String url) throws IOException { try (MoreHttpResponses resp = MoreHttpResponses.execute(HTTP_CLIENT, new HttpHead(url))) { - if (!resp.ok()) { - throw new HttpException(resp.response()); - } + resp.requireOk(); logger.debug("Found skin for {} at {}", profile.getName(), url); Header eTagHeader = resp.response().getFirstHeader(HttpHeaders.ETAG);