diff options
Diffstat (limited to 'loader/src/main')
4 files changed, 52 insertions, 25 deletions
diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java index b5d76566..4cb4d1a2 100755 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java @@ -53,7 +53,7 @@ public class Main { public static final String MOD_ID = "dungeons_guide_wrapper"; public static final String VERSION = "1.0"; - public static final String DOMAIN = "http://testmachine2/api"; + public static final String DOMAIN = "https://v2.dungeons.guide/api"; private static Main main; diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/AuthManager.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/AuthManager.java index 4db06318..4f378f18 100644 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/AuthManager.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/AuthManager.java @@ -130,6 +130,7 @@ public class AuthManager { .title("Auth Error") .description("Authentication Error Occured\n"+e.getMessage()) .titleColor(0xFFFF0000) + .unremovable(true) .onClick(() -> { GuiDisplayer.INSTANCE.displayGui(new GuiLoadingError(e)); }) @@ -152,6 +153,7 @@ public class AuthManager { if (currentToken instanceof PrivacyPolicyRequiredToken) { reauthLock = true; + NotificationManager.INSTANCE.removeNotification(authenticationFailure); NotificationManager.INSTANCE.removeNotification(privacyPolicyRequired); try { currentToken = DgAuthUtil.acceptNewPrivacyPolicy(currentToken.getToken(), version); @@ -173,6 +175,7 @@ public class AuthManager { .title("Auth Error") .description("Authentication Error Occured\n"+e.getMessage()) .titleColor(0xFFFF0000) + .unremovable(true) .onClick(() -> { GuiDisplayer.INSTANCE.displayGui(new GuiLoadingError(e)); }) diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/DgAuthUtil.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/DgAuthUtil.java index 033427bd..fd9a6c01 100644 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/DgAuthUtil.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/auth/DgAuthUtil.java @@ -77,8 +77,10 @@ public class DgAuthUtil { GameProfile profile = Minecraft.getMinecraft().getSession().getProfile(); HttpURLConnection connection = (HttpURLConnection) new URL(Main.DOMAIN + "/auth/v2/requestAuth").openConnection(); - connection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + connection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); connection.setRequestProperty("Content-Type", "application/json"); + connection.setConnectTimeout(1000); + connection.setReadTimeout(3000); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); @@ -126,8 +128,10 @@ public class DgAuthUtil { public static AuthToken verifyAuth(String tempToken, byte[] encSecret) throws IOException { HttpURLConnection urlConnection = (HttpURLConnection) new URL(Main.DOMAIN + "/auth/v2/authenticate").openConnection(); urlConnection.setRequestMethod("POST"); - urlConnection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + urlConnection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); urlConnection.setRequestProperty("Content-Type", "application/json"); + urlConnection.setConnectTimeout(1000); + urlConnection.setReadTimeout(3000); urlConnection.setDoInput(true); urlConnection.setDoOutput(true); @@ -150,8 +154,10 @@ public class DgAuthUtil { public static AuthToken acceptNewPrivacyPolicy(String tempToken, long version) throws IOException { HttpURLConnection urlConnection = (HttpURLConnection) new URL(Main.DOMAIN + "/auth/v2/acceptPrivacyPolicy").openConnection(); urlConnection.setRequestMethod("POST"); - urlConnection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + urlConnection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); urlConnection.setRequestProperty("Content-Type", "application/json"); + urlConnection.setConnectTimeout(1000); + urlConnection.setReadTimeout(3000); urlConnection.setDoInput(true); urlConnection.setDoOutput(true); diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/branch/UpdateRetrieverUtil.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/branch/UpdateRetrieverUtil.java index 9db6c8bc..6539ee5c 100644 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/branch/UpdateRetrieverUtil.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/branch/UpdateRetrieverUtil.java @@ -30,9 +30,11 @@ public class UpdateRetrieverUtil { public static List<UpdateBranch> getUpdateBranches() throws IOException { HttpURLConnection connection = (HttpURLConnection) new URL(Main.DOMAIN + "/updates/").openConnection(); - connection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + connection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); connection.setRequestProperty("Authorization", "Bearer "+ AuthManager.getInstance().getWorkingTokenOrThrow()); connection.setRequestMethod("GET"); + connection.setConnectTimeout(1000); + connection.setReadTimeout(3000); connection.setDoInput(true); connection.setDoOutput(true); @@ -56,8 +58,10 @@ public class UpdateRetrieverUtil { public static List<Update> getLatestUpdates(long branchId, int page) throws IOException { HttpURLConnection connection = (HttpURLConnection) new URL(Main.DOMAIN + "/updates/"+branchId+"/?page="+page).openConnection(); - connection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + connection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); connection.setRequestMethod("GET"); + connection.setConnectTimeout(1000); + connection.setReadTimeout(3000); connection.setRequestProperty("Authorization", "Bearer "+ AuthManager.getInstance().getWorkingTokenOrThrow()); connection.setDoInput(true); connection.setDoOutput(true); @@ -96,9 +100,11 @@ public class UpdateRetrieverUtil { public static Update getUpdate(long branchId, long updateId) throws IOException { HttpURLConnection connection = (HttpURLConnection) new URL(Main.DOMAIN + "/updates/"+branchId+"/"+updateId).openConnection(); - connection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + connection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); connection.setRequestProperty("Authorization", "Bearer "+ AuthManager.getInstance().getWorkingTokenOrThrow()); connection.setRequestMethod("GET"); + connection.setConnectTimeout(1000); + connection.setReadTimeout(3000); connection.setDoInput(true); connection.setDoOutput(true); @@ -134,26 +140,38 @@ public class UpdateRetrieverUtil { .findFirst().orElseThrow(() -> new AssetNotFoundException(update.getBranchId()+"", update.getId()+"("+update.getName()+")", assetName)); - HttpURLConnection connection = (HttpURLConnection) new URL(Main.DOMAIN + "/updates/"+update.getBranchId()+"/"+update.getId()+"/"+asset.getAssetId()).openConnection(); - connection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); - connection.setRequestMethod("GET"); - connection.setRequestProperty("Authorization", "Bearer "+ AuthManager.getInstance().getWorkingTokenOrThrow()); - connection.setDoInput(true); - connection.setDoOutput(true); - - String payload = getResponse(connection); - String url, method; try { - JSONObject result = new JSONObject(payload); - url = result.getString("url"); - method = result.getString("method"); - } catch (Exception e) { - throw new ResponseParsingException(payload, e); + HttpURLConnection connection = (HttpURLConnection) new URL(Main.DOMAIN + "/updates/" + update.getBranchId() + "/" + update.getId() + "/" + asset.getAssetId()).openConnection(); + connection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); + connection.setRequestMethod("GET"); + connection.setRequestProperty("Authorization", "Bearer " + AuthManager.getInstance().getWorkingTokenOrThrow()); + connection.setDoInput(true); + connection.setConnectTimeout(1000); + connection.setReadTimeout(3000); + connection.setDoOutput(true); + + String payload = getResponse(connection); + String url, method; + try { + JSONObject result = new JSONObject(payload); + url = result.getString("url"); + method = result.getString("method"); + } catch (Exception e) { + throw new ResponseParsingException(payload, e); + } + try { + connection = (HttpURLConnection) new URL(url).openConnection(); + connection.setRequestProperty("User-Agent", "DungeonsGuide/4.0"); + connection.setConnectTimeout(1000); + connection.setReadTimeout(5000); + connection.setRequestMethod(method); + return connection.getInputStream(); + } catch (IOException e) { + throw new RuntimeException("Error occured while downloading update asset from "+method+" "+url, e); + } + } catch (IOException e) { + throw new RuntimeException("Error occured while downloading update asset "+update+"/"+assetName, e); } - connection = (HttpURLConnection) new URL(url).openConnection(); - connection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); - connection.setRequestMethod(method); - return connection.getInputStream(); } @Data @Builder |