Updated to new ProtocolVersion

This commit is contained in:
Finn
2026-01-18 18:41:59 +01:00
parent 6f8b79745c
commit 58738cb068
6 changed files with 27 additions and 14 deletions

View File

@@ -6,7 +6,7 @@
<groupId>org.openautonomousconnection</groupId>
<artifactId>WebServer</artifactId>
<version>1.0.0-BETA.1.1</version>
<version>1.0.0-BETA.1.2</version>
<organization>
<name>Open Autonomous Connection</name>
<url>https://open-autonomous-connection.org/</url>
@@ -112,7 +112,7 @@
<dependency>
<groupId>org.openautonomousconnection</groupId>
<artifactId>Protocol</artifactId>
<version>1.0.0-BETA.5.2</version>
<version>1.0.0-BETA.5.4</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>

View File

@@ -9,7 +9,9 @@ import lombok.Getter;
import org.openautonomousconnection.protocol.ProtocolBridge;
import org.openautonomousconnection.protocol.ProtocolSettings;
import org.openautonomousconnection.protocol.side.ins.ProtocolINSServer;
import org.openautonomousconnection.protocol.side.web.WebServerConfig;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.classic.handlers.builtin.WebClassic;
import javax.annotation.processing.Generated;
import java.io.File;
@@ -29,9 +31,15 @@ public class Main {
settings.eventManager = new EventManager();
settings.port = 9824;
protocolBridge = new ProtocolBridge(new WebServer(new File("config.properties"),
// TODO: Refactoring with port in Protocol-Project
WebServerConfig serverConfig = new WebServerConfig(new File("config.properties"));
settings.port = serverConfig.getPort();
protocolBridge = new ProtocolBridge(new WebServer(serverConfig,
new File("auth.ini"), new File("rules.ini")),
settings, ProtocolVersion.PV_1_0_0_BETA, new File("logs"));
protocolBridge.setClassicHandlerWebServer(new WebClassic(protocolBridge));
protocolBridge.getProtocolServer().getPipelineServer().start();
commandManager = new CommandManager(protocolBridge.getProtocolSettings().eventManager);
Scanner scanner = new Scanner(System.in);

View File

@@ -2,8 +2,14 @@ package org.openautonomousconnection.webserver;
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.*;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebResponsePacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.stream.WebStreamChunkPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.stream.WebStreamEndPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.stream.WebStreamStartPacket;
import org.openautonomousconnection.protocol.side.web.ConnectedWebClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.protocol.side.web.WebServerConfig;
import org.openautonomousconnection.protocol.side.web.managers.RuleManager;
import org.openautonomousconnection.protocol.side.web.managers.SessionManager;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
@@ -20,9 +26,8 @@ public final class WebServer extends ProtocolWebServer {
private static final int STREAM_CHUNK_SIZE = 64 * 1024;
private static final long STREAM_THRESHOLD = 2L * 1024 * 1024;
public WebServer(File configFile, File authFile, File rulesFile) throws Exception {
super(configFile, authFile, rulesFile);
Main.getProtocolBridge().getProtocolSettings().port = getConfigurationManager().getInt("port.webserver");
public WebServer(WebServerConfig config, File authFile, File rulesFile) throws Exception {
super(config, authFile, rulesFile);
}
@Override
@@ -69,10 +74,10 @@ public final class WebServer extends ProtocolWebServer {
return new WebResponsePacket(200, contentType, Map.of(), data);
}
private void streamFile(ConnectedWebClient client, File file, String contentType) throws IOException {
private void streamFile(ConnectedWebClient client, File file, String contentType) throws IOException, ClassNotFoundException {
long total = file.length();
client.streamStart(new WebStreamStartPacket(200, contentType, Map.of("name", file.getName()), total));
client.getPipelineConnection().sendPacket(new WebStreamStartPacket(200, contentType, Map.of("name", file.getName()), total));
try (InputStream in = new BufferedInputStream(new FileInputStream(file))) {
byte[] buf = new byte[STREAM_CHUNK_SIZE];
@@ -80,10 +85,10 @@ public final class WebServer extends ProtocolWebServer {
int r;
while ((r = in.read(buf)) != -1) {
byte[] chunk = (r == buf.length) ? buf : Arrays.copyOf(buf, r);
client.streamChunk(new WebStreamChunkPacket(seq++, chunk));
client.getPipelineConnection().sendPacket(new WebStreamChunkPacket(seq++, chunk));
}
}
client.streamEnd(new WebStreamEndPacket(true));
client.getPipelineConnection().sendPacket(new WebStreamEndPacket(true));
}
}

View File

@@ -1,6 +1,6 @@
package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.WebResponsePacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebResponsePacket;
/**
* Server-side Java page (PHP alternative).

View File

@@ -1,6 +1,6 @@
package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.WebRequestPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
import org.openautonomousconnection.protocol.side.web.ConnectedWebClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;

View File

@@ -1,7 +1,7 @@
package org.openautonomousconnection.webserver.runtime;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.WebRequestPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.WebResponsePacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebResponsePacket;
import org.openautonomousconnection.protocol.side.web.ConnectedWebClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.webserver.api.WebPage;