diff --git a/LaunchServer/source/auth/handler/AuthlibAuthHandler.java b/LaunchServer/source/auth/handler/AuthlibAuthHandler.java index bf750c1..95b0236 100644 --- a/LaunchServer/source/auth/handler/AuthlibAuthHandler.java +++ b/LaunchServer/source/auth/handler/AuthlibAuthHandler.java @@ -2,20 +2,15 @@ import com.eclipsesource.json.Json; import com.eclipsesource.json.JsonObject; -import com.eclipsesource.json.WriterConfig; -import launcher.helper.IOHelper; -import launcher.helper.LogHelper; import launcher.serialize.config.entry.BlockConfigEntry; import launcher.serialize.config.entry.StringConfigEntry; import launchserver.auth.provider.AuthProviderResult; import launchserver.auth.provider.AuthlibAuthProviderResult; +import launchserver.helpers.HTTPRequestHelper; import java.io.IOException; -import java.io.OutputStream; -import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; -import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -69,7 +64,7 @@ add("accessToken", accessToken).add("selectedProfile", usernameToUUID(username).toString().replace("-", "")). add("serverId", serverID); - int response = makeAuthlibRequest(URL, request); + int response = HTTPRequestHelper.authJoinRequest(URL, request, "AuthLib"); if (200 <= response && response < 300 ) { @@ -82,26 +77,6 @@ return false; } - public static int makeAuthlibRequest(URL url, JsonObject request) throws IOException - { - HttpURLConnection connection = request == null ? - (HttpURLConnection) IOHelper.newConnection(url) : - IOHelper.newConnectionPost(url); - - // Make request - if (request != null) - { - connection.setRequestProperty("Content-Type", "application/json"); - try (OutputStream output = connection.getOutputStream()) - { - output.write(request.toString(WriterConfig.MINIMAL).getBytes(StandardCharsets.UTF_8)); - } - } - int statusCode = connection.getResponseCode(); - LogHelper.subDebug("Raw Authlib status сode: '" + statusCode + '\''); - return statusCode; - } - @Override public UUID usernameToUUID(String username) { return usernameToUUID.get(username); diff --git a/LaunchServer/source/auth/handler/MineSocialAuthHandler.java b/LaunchServer/source/auth/handler/MineSocialAuthHandler.java index 0688257..b57d36f 100644 --- a/LaunchServer/source/auth/handler/MineSocialAuthHandler.java +++ b/LaunchServer/source/auth/handler/MineSocialAuthHandler.java @@ -2,19 +2,14 @@ import com.eclipsesource.json.Json; import com.eclipsesource.json.JsonObject; -import com.eclipsesource.json.WriterConfig; -import launcher.helper.IOHelper; -import launcher.helper.LogHelper; import launcher.serialize.config.entry.BlockConfigEntry; import launchserver.auth.provider.AuthProviderResult; import launchserver.auth.provider.MineSocialAuthProviderResult; +import launchserver.helpers.HTTPRequestHelper; import java.io.IOException; -import java.io.OutputStream; -import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; -import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -68,7 +63,7 @@ add("accessToken", accessToken).add("selectedProfile", usernameToUUID(username).toString().replace("-", "")). add("serverId", serverID); - int response = makeMineSocialRequest(URL, request); + int response = HTTPRequestHelper.authJoinRequest(URL, request, "MineSocial"); if (200 <= response && response < 300 ) { @@ -81,26 +76,6 @@ return false; } - public static int makeMineSocialRequest(URL url, JsonObject request) throws IOException - { - HttpURLConnection connection = request == null ? - (HttpURLConnection) IOHelper.newConnection(url) : - IOHelper.newConnectionPost(url); - - // Make request - if (request != null) - { - connection.setRequestProperty("Content-Type", "application/json"); - try (OutputStream output = connection.getOutputStream()) - { - output.write(request.toString(WriterConfig.MINIMAL).getBytes(StandardCharsets.UTF_8)); - } - } - int statusCode = connection.getResponseCode(); - LogHelper.subDebug("Raw MineSocial status сode: '" + statusCode + '\''); - return statusCode; - } - @Override public UUID usernameToUUID(String username) { return usernameToUUID.get(username); diff --git a/LaunchServer/source/auth/handler/MojangAuthHandler.java b/LaunchServer/source/auth/handler/MojangAuthHandler.java index ed042d0..0c7e5b5 100644 --- a/LaunchServer/source/auth/handler/MojangAuthHandler.java +++ b/LaunchServer/source/auth/handler/MojangAuthHandler.java @@ -2,19 +2,14 @@ import com.eclipsesource.json.Json; import com.eclipsesource.json.JsonObject; -import com.eclipsesource.json.WriterConfig; -import launcher.helper.IOHelper; -import launcher.helper.LogHelper; import launcher.serialize.config.entry.BlockConfigEntry; import launchserver.auth.provider.AuthProviderResult; import launchserver.auth.provider.MojangAuthProviderResult; +import launchserver.helpers.HTTPRequestHelper; import java.io.IOException; -import java.io.OutputStream; -import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; -import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -69,7 +64,7 @@ add("accessToken", accessToken).add("selectedProfile", usernameToUUID(username).toString().replace("-", "")). add("serverId", serverID); - int response = makeMojangRequest(URL, request); + int response = HTTPRequestHelper.authJoinRequest(URL, request, "Mojang"); if (200 <= response && response < 300 ) { @@ -82,27 +77,6 @@ return false; } - // TODO: Я потом как нидь сделаю рефактор на эту тему - public static int makeMojangRequest(URL url, JsonObject request) throws IOException - { - HttpURLConnection connection = request == null ? - (HttpURLConnection) IOHelper.newConnection(url) : - IOHelper.newConnectionPost(url); - - // Make request - if (request != null) - { - connection.setRequestProperty("Content-Type", "application/json"); - try (OutputStream output = connection.getOutputStream()) - { - output.write(request.toString(WriterConfig.MINIMAL).getBytes(StandardCharsets.UTF_8)); - } - } - int statusCode = connection.getResponseCode(); - LogHelper.subDebug("Raw Mojang status сode: '" + statusCode + '\''); - return statusCode; // https://wiki.vg/Protocol_Encryption#Client - } - @Override public UUID usernameToUUID(String username) { return usernameToUUID.get(username); diff --git a/LaunchServer/source/helpers/HTTPRequestHelper.java b/LaunchServer/source/helpers/HTTPRequestHelper.java index 1603248..f93ff2e 100644 --- a/LaunchServer/source/helpers/HTTPRequestHelper.java +++ b/LaunchServer/source/helpers/HTTPRequestHelper.java @@ -1,10 +1,17 @@ package launchserver.helpers; +import com.eclipsesource.json.JsonObject; +import com.eclipsesource.json.WriterConfig; +import launcher.helper.IOHelper; +import launcher.helper.LogHelper; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; +import java.nio.charset.StandardCharsets; public class HTTPRequestHelper { private static HttpURLConnection makeRequest(URL url, String requestMethod) throws IOException { @@ -31,4 +38,24 @@ in.close(); return response.toString(); } + + public static int authJoinRequest(URL url, JsonObject request, String authType) throws IOException + { + HttpURLConnection connection = request == null ? + (HttpURLConnection) IOHelper.newConnection(url) : + IOHelper.newConnectionPost(url); + + // Make request + if (request != null) + { + connection.setRequestProperty("Content-Type", "application/json"); + try (OutputStream output = connection.getOutputStream()) + { + output.write(request.toString(WriterConfig.MINIMAL).getBytes(StandardCharsets.UTF_8)); + } + } + int statusCode = connection.getResponseCode(); + LogHelper.subDebug("Raw " + authType + " status сode: '" + statusCode + '\''); + return statusCode; + } }