Updated to latest Protocol Version

This commit is contained in:
Finn
2026-02-01 19:28:45 +01:00
parent 09a92de292
commit 6d1decbb61
6 changed files with 21 additions and 24 deletions

View File

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

View File

@@ -64,11 +64,10 @@ public class Main {
protocolBridge = new ProtocolBridge(new WebServer( protocolBridge = new ProtocolBridge(new WebServer(
new File("auth.ini"), new File("rules.ini"), new File("auth.ini"), new File("rules.ini"),
tcpPort, udpPort,
sessionExpire, maxUpload), sessionExpire, maxUpload),
values, ProtocolVersion.PV_1_0_0_BETA, new File("logs")); values, ProtocolVersion.PV_1_0_0_BETA, new File("logs"));
protocolBridge.getProtocolServer().getNetwork().start(); protocolBridge.getProtocolServer().getNetwork().start(tcpPort, udpPort);
commandManager = new CommandManager(values.eventManager); commandManager = new CommandManager(values.eventManager);
commandManager.registerCommand(StopCommand.class); commandManager.registerCommand(StopCommand.class);

View File

@@ -1,6 +1,6 @@
package org.openautonomousconnection.webserver; package org.openautonomousconnection.webserver;
import dev.unlegitdqrk.unlegitlibrary.network.system.utils.Transport; import dev.unlegitdqrk.unlegitlibrary.network.system.utils.TransportProtocol;
import lombok.Getter; import lombok.Getter;
import org.openautonomousconnection.protocol.annotations.ProtocolInfo; import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket; import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
@@ -8,7 +8,7 @@ import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebResponse
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.stream.WebStreamChunkPacket; 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.WebStreamEndPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.stream.WebStreamStartPacket; import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.stream.WebStreamStartPacket;
import org.openautonomousconnection.protocol.side.web.ConnectedWebClient; import org.openautonomousconnection.protocol.side.server.CustomConnectedClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer; import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.protocol.side.web.managers.RuleManager; import org.openautonomousconnection.protocol.side.web.managers.RuleManager;
import org.openautonomousconnection.protocol.versions.ProtocolVersion; import org.openautonomousconnection.protocol.versions.ProtocolVersion;
@@ -32,12 +32,10 @@ public final class WebServer extends ProtocolWebServer {
public WebServer( public WebServer(
File authFile, File authFile,
File rulesFile, File rulesFile,
int tcpPort,
int udpPort,
int sessionExpire, int sessionExpire,
int maxUpload int maxUpload
) throws Exception { ) throws Exception {
super(authFile, rulesFile, tcpPort, udpPort, sessionExpire, maxUpload); super(authFile, rulesFile,sessionExpire, maxUpload);
// NOTE: Values chosen as safe defaults. // NOTE: Values chosen as safe defaults.
// move them to Main and pass them in here (no hidden assumptions). // move them to Main and pass them in here (no hidden assumptions).
@@ -49,7 +47,7 @@ public final class WebServer extends ProtocolWebServer {
} }
@Override @Override
public WebResponsePacket onWebRequest(ConnectedWebClient client, WebRequestPacket request) { public WebResponsePacket onWebRequest(CustomConnectedClient client, WebRequestPacket request) {
try { try {
String path = request.getPath() == null ? "/" : request.getPath(); String path = request.getPath() == null ? "/" : request.getPath();
@@ -75,7 +73,7 @@ public final class WebServer extends ProtocolWebServer {
} }
} }
private WebResponsePacket serveFile(ConnectedWebClient client, String path) throws Exception { private WebResponsePacket serveFile(CustomConnectedClient client, String path) throws Exception {
if (path.startsWith("/")) path = path.substring(1); if (path.startsWith("/")) path = path.substring(1);
if (path.isEmpty()) path = "index.html"; if (path.isEmpty()) path = "index.html";
@@ -97,10 +95,10 @@ public final class WebServer extends ProtocolWebServer {
return new WebResponsePacket(200, contentType, Map.of(), data); return new WebResponsePacket(200, contentType, Map.of(), data);
} }
private void streamFile(ConnectedWebClient client, File file, String contentType) throws IOException, ClassNotFoundException { private void streamFile(CustomConnectedClient client, File file, String contentType) throws IOException, ClassNotFoundException {
long total = file.length(); long total = file.length();
client.getConnection().sendPacket(new WebStreamStartPacket(200, contentType, Map.of("name", file.getName()), total), Transport.TCP); client.getConnection().sendPacket(new WebStreamStartPacket(200, contentType, Map.of("name", file.getName()), total), TransportProtocol.TCP);
try (InputStream in = new BufferedInputStream(new FileInputStream(file))) { try (InputStream in = new BufferedInputStream(new FileInputStream(file))) {
byte[] buf = new byte[STREAM_CHUNK_SIZE]; byte[] buf = new byte[STREAM_CHUNK_SIZE];
@@ -110,11 +108,11 @@ public final class WebServer extends ProtocolWebServer {
byte[] chunk = (r == buf.length) ? buf : Arrays.copyOf(buf, r); byte[] chunk = (r == buf.length) ? buf : Arrays.copyOf(buf, r);
client.getConnection().sendPacket( client.getConnection().sendPacket(
new WebStreamChunkPacket(seq++, chunk), new WebStreamChunkPacket(seq++, chunk),
ContentTypeResolver.isVideoFile(file.getName()) ? Transport.UDP : Transport.TCP ContentTypeResolver.isVideoFile(file.getName()) ? TransportProtocol.UDP : TransportProtocol.TCP
); );
} }
} }
client.getConnection().sendPacket(new WebStreamEndPacket(true), Transport.TCP); client.getConnection().sendPacket(new WebStreamEndPacket(true), TransportProtocol.TCP);
} }
} }

View File

@@ -1,6 +1,6 @@
package org.openautonomousconnection.webserver.api; package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.side.web.ConnectedWebClient; import org.openautonomousconnection.protocol.side.server.CustomConnectedClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer; import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.protocol.side.web.managers.SessionManager; import org.openautonomousconnection.protocol.side.web.managers.SessionManager;
@@ -23,14 +23,14 @@ public final class SessionContext {
this.valid = valid; this.valid = valid;
} }
public static SessionContext from(ConnectedWebClient client, ProtocolWebServer server, Map<String, String> headers) throws IOException { public static SessionContext from(CustomConnectedClient client, ProtocolWebServer server, Map<String, String> headers) throws IOException {
if (headers == null) return new SessionContext(null, null, false); if (headers == null) return new SessionContext(null, null, false);
String sessionId = headers.get("session"); String sessionId = headers.get("session");
if (sessionId == null) return new SessionContext(null, null, false); if (sessionId == null) return new SessionContext(null, null, false);
String ip = (client.getConnection().getSocket() != null && client.getConnection().getSocket().getInetAddress() != null) String ip = (client.getConnection().getTcpSocket() != null && client.getConnection().getTcpSocket().getInetAddress() != null)
? client.getConnection().getSocket().getInetAddress().getHostAddress() : ""; ? client.getConnection().getTcpSocket().getInetAddress().getHostAddress() : "";
String userAgent = headers.getOrDefault("user-agent", ""); String userAgent = headers.getOrDefault("user-agent", "");

View File

@@ -1,7 +1,7 @@
package org.openautonomousconnection.webserver.api; package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket; import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
import org.openautonomousconnection.protocol.side.web.ConnectedWebClient; import org.openautonomousconnection.protocol.side.server.CustomConnectedClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer; import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.webserver.utils.WebHasher; import org.openautonomousconnection.webserver.utils.WebHasher;
import org.openautonomousconnection.webserver.utils.RequestParams; import org.openautonomousconnection.webserver.utils.RequestParams;
@@ -11,14 +11,14 @@ import org.openautonomousconnection.webserver.utils.RequestParams;
*/ */
public final class WebPageContext { public final class WebPageContext {
public final ConnectedWebClient client; public final CustomConnectedClient client;
public final WebRequestPacket request; public final WebRequestPacket request;
public final SessionContext session; public final SessionContext session;
public final RequestParams params; public final RequestParams params;
public final WebHasher hasher; public final WebHasher hasher;
public WebPageContext( public WebPageContext(
ConnectedWebClient client, CustomConnectedClient client,
ProtocolWebServer server, ProtocolWebServer server,
WebRequestPacket request, WebRequestPacket request,
RequestParams params, RequestParams params,

View File

@@ -2,7 +2,7 @@ package org.openautonomousconnection.webserver.runtime;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket; 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.WebResponsePacket;
import org.openautonomousconnection.protocol.side.web.ConnectedWebClient; import org.openautonomousconnection.protocol.side.server.CustomConnectedClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer; import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.webserver.WebServer; import org.openautonomousconnection.webserver.WebServer;
import org.openautonomousconnection.webserver.api.WebPage; import org.openautonomousconnection.webserver.api.WebPage;
@@ -24,7 +24,7 @@ public final class JavaPageDispatcher {
private JavaPageDispatcher() {} private JavaPageDispatcher() {}
public static WebResponsePacket dispatch( public static WebResponsePacket dispatch(
ConnectedWebClient client, CustomConnectedClient client,
ProtocolWebServer server, ProtocolWebServer server,
WebRequestPacket request WebRequestPacket request
) throws Exception { ) throws Exception {