From 3cf2a1c313a945a6ed3b6f9b826477d63c04b53e Mon Sep 17 00:00:00 2001 From: Quackster Date: Sat, 10 Sep 2022 12:56:39 +1000 Subject: [PATCH] Add configurable page encoding for different languages --- .../util/config/ServerConfiguration.java | 2 +- Havana-Web/libs/duckHTTPD-all.jar | Bin 5278501 -> 5278617 bytes .../main/java/org/alexdev/http/HavanaWeb.java | 4 ++++ .../util/config/WebServerConfigWriter.java | 4 ++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Havana-Server/src/main/java/org/alexdev/havana/util/config/ServerConfiguration.java b/Havana-Server/src/main/java/org/alexdev/havana/util/config/ServerConfiguration.java index 1394608..d37d96f 100644 --- a/Havana-Server/src/main/java/org/alexdev/havana/util/config/ServerConfiguration.java +++ b/Havana-Server/src/main/java/org/alexdev/havana/util/config/ServerConfiguration.java @@ -158,7 +158,7 @@ public class ServerConfiguration { * @return value */ public static String getString(String key) { - return config.getOrDefault(key, key); + return config.getOrDefault(key, ""); } /** diff --git a/Havana-Web/libs/duckHTTPD-all.jar b/Havana-Web/libs/duckHTTPD-all.jar index d0e21a45877d44ad9c430d341ce6c6e60f5dfaf0..3bbf395a856897ef17303bbcf9b6f3856577141a 100644 GIT binary patch delta 5034 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 0) { + settings.setPageEncoding(ServerConfiguration.getString("page.encoding")); + } + // Spammers /*Settings.getInstance().getBlockIpv4().add("192.190"); Settings.getInstance().getBlockIpv4().add("79.108"); diff --git a/Havana-Web/src/main/java/org/alexdev/http/util/config/WebServerConfigWriter.java b/Havana-Web/src/main/java/org/alexdev/http/util/config/WebServerConfigWriter.java index 85bd901..f76435d 100644 --- a/Havana-Web/src/main/java/org/alexdev/http/util/config/WebServerConfigWriter.java +++ b/Havana-Web/src/main/java/org/alexdev/http/util/config/WebServerConfigWriter.java @@ -27,6 +27,8 @@ public class WebServerConfigWriter implements ConfigWriter { config.put("template.directory", "tools/www-tpl"); config.put("template.name", "default-en"); + + config.put("page.encoding", "utf-8"); return config; } @@ -53,6 +55,8 @@ public class WebServerConfigWriter implements ConfigWriter { writer.println("[Template]"); writer.println("template.directory=" + config.get("template.directory")); writer.println("template.name=" + config.get("template.name")); + writer.println(""); + writer.println("page.encoding=" + config.get("page.encoding")); writer.flush(); writer.close(); }