mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 01:15:52 +01:00
Convert to the superior language system. (pt. 2)
This commit is contained in:
@@ -2,6 +2,7 @@ package emu.grasscutter.server.dispatch;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.Grasscutter.ServerDebugMode;
|
||||
@@ -9,6 +10,8 @@ import express.http.HttpContextHandler;
|
||||
import express.http.Request;
|
||||
import express.http.Response;
|
||||
|
||||
import static emu.grasscutter.utils.Language.translate;
|
||||
|
||||
public final class DispatchHttpJsonHandler implements HttpContextHandler {
|
||||
private final String response;
|
||||
private final String[] missingRoutes = { // TODO: When http requests for theses routes are found please remove it from this list and update the route request type in the DispatchServer
|
||||
@@ -31,8 +34,8 @@ public final class DispatchHttpJsonHandler implements HttpContextHandler {
|
||||
@Override
|
||||
public void handle(Request req, Response res) throws IOException {
|
||||
// Checking for ALL here isn't required as when ALL is enabled enableDevLogging() gets enabled
|
||||
if(Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING && Arrays.stream(missingRoutes).anyMatch(x -> x == req.baseUrl())) {
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Client_request.replace("{ip}", req.ip()).replace("{method}", req.method()).replace("{url}", req.baseUrl()) + (Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING ? "(MISSING)" : ""));
|
||||
if(Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING && Arrays.stream(missingRoutes).anyMatch(x -> Objects.equals(x, req.baseUrl()))) {
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.request", req.ip(), req.method(), req.baseUrl()) + (Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING ? "(MISSING)" : ""));
|
||||
}
|
||||
res.send(response);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,8 @@ import java.io.*;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.*;
|
||||
|
||||
import static emu.grasscutter.utils.Language.translate;
|
||||
|
||||
public final class DispatchServer {
|
||||
public static String query_region_list = "";
|
||||
public static String query_cur_region = "";
|
||||
@@ -211,21 +213,21 @@ public final class DispatchServer {
|
||||
sslContextFactory.setKeyStorePassword(Grasscutter.getConfig().getDispatchOptions().KeystorePassword);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Not_load_keystore);
|
||||
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.password_error"));
|
||||
|
||||
try {
|
||||
sslContextFactory.setKeyStorePath(keystoreFile.getPath());
|
||||
sslContextFactory.setKeyStorePassword("123456");
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Use_default_keystore);
|
||||
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.default_password"));
|
||||
} catch (Exception e2) {
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Load_keystore_error);
|
||||
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.general_error"));
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
serverConnector = new ServerConnector(server, sslContextFactory);
|
||||
} else {
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Not_find_ssl_cert);
|
||||
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.no_keystore_error"));
|
||||
Grasscutter.getConfig().getDispatchOptions().UseSSL = false;
|
||||
|
||||
serverConnector = new ServerConnector(server);
|
||||
@@ -245,11 +247,11 @@ public final class DispatchServer {
|
||||
}
|
||||
});
|
||||
|
||||
httpServer.get("/", (req, res) -> res.send(Grasscutter.getLanguage().Welcome));
|
||||
httpServer.get("/", (req, res) -> res.send(translate("messages.status.welcome")));
|
||||
|
||||
httpServer.raw().error(404, ctx -> {
|
||||
if(Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING) {
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Potential_unhandled_request.replace("{method}", ctx.method()).replace("{url}", ctx.url()));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.unhandled_request_error", ctx.method(), ctx.url()));
|
||||
}
|
||||
ctx.contentType("text/html");
|
||||
ctx.result("<!doctype html><html lang=\"en\"><body><img src=\"https://http.cat/404\" /></body></html>"); // I'm like 70% sure this won't break anything.
|
||||
@@ -307,7 +309,7 @@ public final class DispatchServer {
|
||||
if (requestData == null) {
|
||||
return;
|
||||
}
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Client_try_login.replace("{ip}", req.ip()));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_attempt", req.ip()));
|
||||
|
||||
res.send(this.getAuthHandler().handleGameLogin(req, requestData));
|
||||
});
|
||||
@@ -327,7 +329,7 @@ public final class DispatchServer {
|
||||
return;
|
||||
}
|
||||
LoginResultJson responseData = new LoginResultJson();
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Client_login_token.replace("{ip}", req.ip()));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_token_attempt"));
|
||||
|
||||
// Login
|
||||
Account account = DatabaseHelper.getAccountById(requestData.uid);
|
||||
@@ -335,16 +337,16 @@ public final class DispatchServer {
|
||||
// Test
|
||||
if (account == null || !account.getSessionKey().equals(requestData.token)) {
|
||||
responseData.retcode = -111;
|
||||
responseData.message = Grasscutter.getLanguage().Game_account_cache_error;
|
||||
responseData.message = translate("messages.dispatch.account.account_cache_error");
|
||||
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Client_token_login_failed.replace("{ip}", req.ip()));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_token_error", req.ip()));
|
||||
} else {
|
||||
responseData.message = "OK";
|
||||
responseData.data.account.uid = requestData.uid;
|
||||
responseData.data.account.token = requestData.token;
|
||||
responseData.data.account.email = account.getEmail();
|
||||
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Client_login_in_token.replace("{ip}", req.ip()).replace("{uid}", responseData.data.account.uid));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_token_success", req.ip(), requestData.uid));
|
||||
}
|
||||
|
||||
res.send(responseData);
|
||||
@@ -374,16 +376,16 @@ public final class DispatchServer {
|
||||
// Test
|
||||
if (account == null || !account.getSessionKey().equals(loginData.token)) {
|
||||
responseData.retcode = -201;
|
||||
responseData.message = Grasscutter.getLanguage().Wrong_session_key;
|
||||
responseData.message = translate("messages.dispatch.account.session_key_error");
|
||||
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Client_failed_exchange_combo_token.replace("{ip}", req.ip()));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.account.combo_token_error", req.ip()));
|
||||
} else {
|
||||
responseData.message = "OK";
|
||||
responseData.data.open_id = loginData.uid;
|
||||
responseData.data.combo_id = "157795300";
|
||||
responseData.data.combo_token = account.generateLoginToken();
|
||||
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Client_exchange_combo_token.replace("{ip}", req.ip()));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.account.combo_token_success", req.ip()));
|
||||
}
|
||||
|
||||
res.send(responseData);
|
||||
@@ -449,7 +451,7 @@ public final class DispatchServer {
|
||||
httpServer.get("/gcstatic/*", new StaticFileHandler());
|
||||
|
||||
httpServer.listen(Grasscutter.getConfig().getDispatchOptions().Port);
|
||||
Grasscutter.getLogger().info(Grasscutter.getLanguage().Dispatch_start_server_port.replace("{port}", Integer.toString(httpServer.raw().port())));
|
||||
Grasscutter.getLogger().info(translate("messages.dispatch.port_bind", Integer.toString(httpServer.raw().port())));
|
||||
}
|
||||
|
||||
private Map<String, String> parseQueryString(String qs) {
|
||||
|
||||
Reference in New Issue
Block a user