From 95ce7060cd15927444c1c78184ab1e9e5fd34fd8 Mon Sep 17 00:00:00 2001 From: Rasmus Karlsson Date: Mon, 3 Jun 2024 16:34:59 +0200 Subject: [PATCH 1/2] http-server: add configurable server port --- .../plugins/httpserver/HttpServerConfig.java | 22 +++++++++++++++++++ .../plugins/httpserver/HttpServerPlugin.java | 13 ++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 src/main/java/info/sigterm/plugins/httpserver/HttpServerConfig.java diff --git a/src/main/java/info/sigterm/plugins/httpserver/HttpServerConfig.java b/src/main/java/info/sigterm/plugins/httpserver/HttpServerConfig.java new file mode 100644 index 00000000..aa501137 --- /dev/null +++ b/src/main/java/info/sigterm/plugins/httpserver/HttpServerConfig.java @@ -0,0 +1,22 @@ +package info.sigterm.plugins.httpserver; + +import net.runelite.client.config.Config; +import net.runelite.client.config.ConfigGroup; +import net.runelite.client.config.ConfigItem; +import net.runelite.client.config.Range; + +@ConfigGroup("httpserver") +public interface HttpServerConfig extends Config { + @ConfigItem( + keyName = "port", + name = "Server port", + description = "Port to host the HTTP server on. Requires a plugin restart after changing." + ) + @Range( + min = 1, + max = 65535 + ) + default int port() { + return 8080; + } +} \ No newline at end of file diff --git a/src/main/java/info/sigterm/plugins/httpserver/HttpServerPlugin.java b/src/main/java/info/sigterm/plugins/httpserver/HttpServerPlugin.java index cac63025..fdd4e146 100644 --- a/src/main/java/info/sigterm/plugins/httpserver/HttpServerPlugin.java +++ b/src/main/java/info/sigterm/plugins/httpserver/HttpServerPlugin.java @@ -2,6 +2,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import com.google.inject.Provides; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; @@ -19,6 +20,7 @@ import net.runelite.api.ItemContainer; import net.runelite.api.Skill; import net.runelite.client.callback.ClientThread; +import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.http.api.RuneLiteAPI; @@ -34,12 +36,15 @@ public class HttpServerPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private HttpServerConfig config; + private HttpServer server; @Override protected void startUp() throws Exception { - server = HttpServer.create(new InetSocketAddress(8080), 0); + server = HttpServer.create(new InetSocketAddress(config.port()), 0); server.createContext("/stats", this::handleStats); server.createContext("/inv", handlerForInv(InventoryID.INVENTORY)); server.createContext("/equip", handlerForInv(InventoryID.EQUIPMENT)); @@ -53,6 +58,12 @@ protected void shutDown() throws Exception server.stop(1); } + @Provides + HttpServerConfig provideConfig(ConfigManager configManager) + { + return configManager.getConfig(HttpServerConfig.class); + } + public void handleStats(HttpExchange exchange) throws IOException { JsonArray skills = new JsonArray(); From 4b85aa1e36b69dd5c78e052c174f22c7b934b74d Mon Sep 17 00:00:00 2001 From: Rasmus Karlsson Date: Mon, 3 Jun 2024 16:35:12 +0200 Subject: [PATCH 2/2] chore(build.gradle): update runelite version to latest.release --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 98c65c34..a7f24119 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ repositories { mavenCentral() } -def runeLiteVersion = '1.6.33' +def runeLiteVersion = 'latest.release' dependencies { compileOnly group: 'net.runelite', name:'client', version: runeLiteVersion