diff options
| author | syeyoung <cyong06@naver.com> | 2021-05-16 01:08:49 +0900 | 
|---|---|---|
| committer | syeyoung <cyong06@naver.com> | 2021-05-16 01:08:49 +0900 | 
| commit | 0c8b4bc4ae367615ef009a98297045c0f999696d (patch) | |
| tree | 5db03dbc4a7b0bb40bc084d57828f5cc61d68668 /src/main/java | |
| parent | 30d9eb5e1a258b0f6440e310a910ba5a815823b1 (diff) | |
| download | Skyblock-Dungeons-Guide-0c8b4bc4ae367615ef009a98297045c0f999696d.tar.gz Skyblock-Dungeons-Guide-0c8b4bc4ae367615ef009a98297045c0f999696d.tar.bz2 Skyblock-Dungeons-Guide-0c8b4bc4ae367615ef009a98297045c0f999696d.zip | |
Websocket is now optional
Main now logs exceptions
Main now checks for error in "init" phase
Diffstat (limited to 'src/main/java')
3 files changed, 28 insertions, 8 deletions
| diff --git a/src/main/java/kr/syeyoung/dungeonsguide/Authenticator.java b/src/main/java/kr/syeyoung/dungeonsguide/Authenticator.java index 44e0908c..5b15fde6 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/Authenticator.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/Authenticator.java @@ -28,6 +28,7 @@ import net.minecraft.client.Minecraft;  import net.minecraft.util.Session;  import net.minecraftforge.fml.common.ProgressManager;  import org.apache.commons.codec.binary.Base64; +import org.apache.commons.io.IOUtils;  import javax.crypto.*;  import javax.crypto.spec.IvParameterSpec; @@ -129,8 +130,12 @@ public class Authenticator {          connection.setDoOutput(true);          connection.getOutputStream().write(("{\"uuid\":\""+profile.getId().toString()+"\",\"nickname\":\""+profile.getName()+"\"}").getBytes()); -        InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream()); -        JsonObject json = (JsonObject) new JsonParser().parse(inputStreamReader); +        String payload = String.join("\n", IOUtils.readLines(connection.getErrorStream() == null ? connection.getInputStream() : connection.getErrorStream())); +        if (connection.getResponseCode() >= 400) +            System.out.println("https://dungeons.guide/auth/requestAuth :: Received "+connection.getResponseCode()+" along with\n"+payload); + +        JsonObject json = (JsonObject) new JsonParser().parse(payload); +          if (!"ok".equals(json.get("status").getAsString())) {              return null;          } @@ -145,9 +150,11 @@ public class Authenticator {          urlConnection.setDoOutput(true);          urlConnection.getOutputStream().write(("{\"jwt\":\""+tempToken+"\",\"publicKey\":\""+Base64.encodeBase64URLSafeString(clientKey.getEncoded())+"\"}").getBytes()); -        urlConnection.getResponseCode(); -        InputStreamReader reader = new InputStreamReader(urlConnection.getInputStream()); -        JsonObject jsonObject = (JsonObject) new JsonParser().parse(reader); +        String payload = String.join("\n", IOUtils.readLines(urlConnection.getErrorStream() == null ? urlConnection.getInputStream() : urlConnection.getErrorStream())); +        if (urlConnection.getResponseCode() >= 400) +            System.out.println("https://dungeons.guide/auth/authenticate :: Received "+urlConnection.getResponseCode()+" along with\n"+payload); + +        JsonObject jsonObject = (JsonObject) new JsonParser().parse(payload);          if (!"ok".equals(jsonObject.get("status").getAsString())) {              return null;          } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/DungeonsGuide.java b/src/main/java/kr/syeyoung/dungeonsguide/DungeonsGuide.java index da277b2c..63ba70a9 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/DungeonsGuide.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/DungeonsGuide.java @@ -143,8 +143,7 @@ public class DungeonsGuide implements DGInterface, CloseListener {          MinecraftForge.EVENT_BUS.register(cosmeticsManager);          try { -            stompConnection = new StompClient(new URI(stompURL), authenticator.getToken(), this); -            MinecraftForge.EVENT_BUS.post(new StompConnectedEvent(stompConnection)); +            connectStomp();          } catch (Exception e) {              throw new RuntimeException(e);          } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/Main.java b/src/main/java/kr/syeyoung/dungeonsguide/Main.java index 873cb6e0..6e2e887e 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/Main.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/Main.java @@ -68,7 +68,17 @@ public class Main          MinecraftForge.EVENT_BUS.register(this);          if (dgInterface != null) {              main = this; -            dgInterface.init(initializationEvent); +            try { +                dgInterface.init(initializationEvent); +            } catch (Exception e) { +                cause = e; +                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); +                PrintStream printStream = new PrintStream(byteArrayOutputStream); +                e.printStackTrace(printStream); +                stacktrace = new String(byteArrayOutputStream.toByteArray()); + +                e.printStackTrace(); +            }          }      } @@ -111,6 +121,8 @@ public class Main                      while (progressBar.getStep() < progressBar.getSteps())                          progressBar.step("random-"+progressBar.getStep());                      ProgressManager.pop(progressBar); + +                    e.printStackTrace();                  }              }          } catch (IOException  | AuthenticationException | NoSuchAlgorithmException | CertificateException | KeyStoreException | KeyManagementException | InvalidKeySpecException | SignatureException e) { @@ -123,6 +135,8 @@ public class Main              while (progressBar.getStep() < progressBar.getSteps())                  progressBar.step("random-"+progressBar.getStep());              ProgressManager.pop(progressBar); + +            e.printStackTrace();          }      } | 
