aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gq/malwarefight/tokenapp/SocketThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gq/malwarefight/tokenapp/SocketThread.java')
-rw-r--r--src/main/java/gq/malwarefight/tokenapp/SocketThread.java54
1 files changed, 26 insertions, 28 deletions
diff --git a/src/main/java/gq/malwarefight/tokenapp/SocketThread.java b/src/main/java/gq/malwarefight/tokenapp/SocketThread.java
index 572ca57..05db6f0 100644
--- a/src/main/java/gq/malwarefight/tokenapp/SocketThread.java
+++ b/src/main/java/gq/malwarefight/tokenapp/SocketThread.java
@@ -1,13 +1,13 @@
package gq.malwarefight.tokenapp;
import com.mojang.authlib.exceptions.AuthenticationException;
+import gq.malwarefight.nosession.mixin.Utils;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
-import java.util.Scanner;
public class SocketThread extends Thread {
private final Socket sock;
@@ -27,37 +27,35 @@ public class SocketThread extends Thread {
try {
InputStream in = sock.getInputStream();
OutputStream out = sock.getOutputStream();
- Scanner scanner = new Scanner(in, StandardCharsets.UTF_8.name());
while (true) {
- if (scanner.hasNextLine()) {
- String line = scanner.nextLine();
- String[] parts = line.split(" ");
- if ("login".equals(parts[0])) {
- try {
- Main.sessionService.joinServer(
- Main.gameProfile, Main.authenticationService.getClientToken(), parts[1]
- );
- } catch (Exception e) {
- if (e instanceof ArrayIndexOutOfBoundsException) {
- writeResponse("400 Bad Request", out);
- } else if (e instanceof AuthenticationException) {
- writeResponse("401 Unauthorized", out);
- } else {
- writeResponse("500 Internal Server Error", out);
- }
- continue;
+ String line = Utils.readString(in, '\n');
+ String[] parts = line.split(" ");
+ if ("login".equals(parts[0])) {
+ try {
+ Main.sessionService.joinServer(
+ Main.gameProfile, Main.authenticationService.getClientToken(), parts[1]
+ );
+ } catch (Exception e) {
+ if (e instanceof ArrayIndexOutOfBoundsException) {
+ writeResponse("400 Bad Request", out);
+ } else if (e instanceof AuthenticationException) {
+ writeResponse("401 Unauthorized", out);
+ } else {
+ writeResponse("500 Internal Server Error", out);
}
- writeResponse("200 OK", out);
- } else if ("disconnect".equals(parts[0])) {
- sock.close();
- } else if ("fullquit".equals(parts[0])) {
- Main.running = false;
- sock.close();
- return;
- } else {
- writeResponse("418 I'm a teapot", out);
+ continue;
}
+ writeResponse("200 OK", out);
+ } else if ("disconnect".equals(parts[0])) {
+ sock.close();
+ } else if ("fullquit".equals(parts[0])) {
+ System.exit(0);
+ } else if ("id".equals(parts[0])) {
+ writeResponse(Long.toString(Main.ID), out);
+ } else {
+ writeResponse("418 I'm a teapot", out);
}
+
}
} catch (IOException ignored) {}
}