diff --git a/pom.xml b/pom.xml
index 9428677..0f6cd1d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.openautonomousconnection
WebServer
- 1.0.0-BETA.1.1
+ 1.0.0-BETA.1.2
Open Autonomous Connection
https://open-autonomous-connection.org/
@@ -112,7 +112,7 @@
org.openautonomousconnection
Protocol
- 1.0.0-BETA.5.2
+ 1.0.0-BETA.5.4
org.projectlombok
diff --git a/src/main/java/org/openautonomousconnection/webserver/Main.java b/src/main/java/org/openautonomousconnection/webserver/Main.java
index 74f8a13..7ac0351 100644
--- a/src/main/java/org/openautonomousconnection/webserver/Main.java
+++ b/src/main/java/org/openautonomousconnection/webserver/Main.java
@@ -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);
diff --git a/src/main/java/org/openautonomousconnection/webserver/WebServer.java b/src/main/java/org/openautonomousconnection/webserver/WebServer.java
index f8ab427..b997e0a 100644
--- a/src/main/java/org/openautonomousconnection/webserver/WebServer.java
+++ b/src/main/java/org/openautonomousconnection/webserver/WebServer.java
@@ -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));
}
}
diff --git a/src/main/java/org/openautonomousconnection/webserver/api/WebPage.java b/src/main/java/org/openautonomousconnection/webserver/api/WebPage.java
index 6f8d0bb..ef68d80 100644
--- a/src/main/java/org/openautonomousconnection/webserver/api/WebPage.java
+++ b/src/main/java/org/openautonomousconnection/webserver/api/WebPage.java
@@ -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).
diff --git a/src/main/java/org/openautonomousconnection/webserver/api/WebPageContext.java b/src/main/java/org/openautonomousconnection/webserver/api/WebPageContext.java
index 1957b52..587126d 100644
--- a/src/main/java/org/openautonomousconnection/webserver/api/WebPageContext.java
+++ b/src/main/java/org/openautonomousconnection/webserver/api/WebPageContext.java
@@ -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;
diff --git a/src/main/java/org/openautonomousconnection/webserver/runtime/JavaPageDispatcher.java b/src/main/java/org/openautonomousconnection/webserver/runtime/JavaPageDispatcher.java
index 0d865c9..1dc654c 100644
--- a/src/main/java/org/openautonomousconnection/webserver/runtime/JavaPageDispatcher.java
+++ b/src/main/java/org/openautonomousconnection/webserver/runtime/JavaPageDispatcher.java
@@ -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;