Attempt to fix untranslated login window

This commit is contained in:
Benjamin Elsdon
2022-05-20 19:06:19 +08:00
committed by Melledy
parent e6514f7ad1
commit d1775b130f
4 changed files with 336 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import emu.grasscutter.GameConstants;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.server.http.objects.HttpJsonResponse;
import emu.grasscutter.server.http.Router;
import emu.grasscutter.server.http.objects.WebStaticVersionResponse;
import express.Express;
import express.http.Request;
import express.http.Response;
@@ -43,7 +44,7 @@ public final class GenericHandler implements Router {
express.all("/perf/config/verify", new HttpJsonResponse("{\"code\":0}"));
// webstatic-sea.hoyoverse.com
express.get("/admin/mi18n/plat_oversea/*", new HttpJsonResponse("{\"version\":51}"));
express.get("/admin/mi18n/plat_oversea/*", new WebStaticVersionResponse());
express.get("/status/server", GenericHandler::serverStatus);
}

View File

@@ -0,0 +1,41 @@
package emu.grasscutter.server.http.objects;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.DataLoader;
import emu.grasscutter.utils.FileUtils;
import emu.grasscutter.utils.Utils;
import express.http.HttpContextHandler;
import express.http.MediaType;
import express.http.Request;
import express.http.Response;
import io.javalin.core.util.FileUtil;
import java.io.IOException;
import java.io.InputStream;
import static emu.grasscutter.Configuration.DATA;
public class WebStaticVersionResponse implements HttpContextHandler {
@Override
public void handle(Request request, Response response) throws IOException {
if(request.path().contains("version")) {
getPageResources("/webstatic/version.json", response);
return;
} else { // TODO other versions
getPageResources("/webstatic/en.json", response);
}
}
private static void getPageResources(String path, Response response) {
try(InputStream filestream = FileUtils.readResourceAsStream(path)) {
MediaType fromExtension = MediaType.getByExtension(path.substring(path.lastIndexOf(".") + 1));
response.type((fromExtension != null) ? fromExtension.getMIME() : "application/octet-stream");
response.send(filestream.readAllBytes());
} catch (Exception e) {
Grasscutter.getLogger().warn("File does not exist: " + path);
response.status(404);
}
}
}