Updated to latest Protocol Version

This commit is contained in:
UnlegitDqrk
2026-02-22 17:26:22 +01:00
parent 5058e41ce1
commit 5642869097
16 changed files with 879 additions and 173 deletions

View File

@@ -59,14 +59,13 @@ public final class SessionContext {
}
private static String extractSessionId(Map<String, String> headers) {
// 1) Cookie header preferred
String cookie = getHeaderIgnoreCase(headers, "cookie");
String fromCookie = parseCookie(cookie, COOKIE_NAME);
if (fromCookie != null && !fromCookie.isBlank()) return fromCookie;
// 2) Backward-compatible fallback: old custom header
String legacy = getHeaderIgnoreCase(headers, "session");
return (legacy == null || legacy.isBlank()) ? null : legacy.trim();
// Fallback
String session = getHeaderIgnoreCase(headers, "session");
return (session == null || session.isBlank()) ? null : session.trim();
}
private static String parseCookie(String cookieHeader, String name) {

View File

@@ -1,10 +1,11 @@
package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebResponsePacket;
import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.impl.resource.WebResourceResponsePacket;
/**
* Server-side Java page (PHP alternative).
* Every .java page must implement this interface.
* Server-side Java page (v1.0.1-BETA).
*
* <p>Every .java page must implement this interface.</p>
*/
public interface WebPage {
@@ -12,7 +13,8 @@ public interface WebPage {
* Handles a web request.
*
* @param ctx context (client, request, session)
* @return response packet
* @return resource response packet
* @throws Exception on unexpected failures
*/
WebResponsePacket handle(WebPageContext ctx) throws Exception;
}
WebResourceResponsePacket handle(WebPageContext ctx) throws Exception;
}

View File

@@ -1,18 +1,18 @@
package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.impl.resource.WebResourceRequestPacket;
import org.openautonomousconnection.protocol.side.server.CustomConnectedClient;
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.webserver.utils.RequestParams;
import org.openautonomousconnection.webserver.utils.WebHasher;
/**
* Context passed to Java WebPages (client, request, session, params, hasher).
* Context passed to Java WebPages (v1.0.1-BETA).
*/
public final class WebPageContext {
public final CustomConnectedClient client;
public final WebRequestPacket request;
public final WebResourceRequestPacket request;
public final SessionContext session;
public final RequestParams params;
public final WebHasher hasher;
@@ -20,7 +20,7 @@ public final class WebPageContext {
public WebPageContext(
CustomConnectedClient client,
ProtocolWebServer server,
WebRequestPacket request,
WebResourceRequestPacket request,
RequestParams params,
WebHasher hasher
) throws Exception {
@@ -30,4 +30,22 @@ public final class WebPageContext {
this.params = params;
this.hasher = hasher;
}
}
/**
* Convenience constructor: creates {@link RequestParams} from request headers.
*
* @param client client
* @param server server
* @param request request
* @param hasher hasher
* @throws Exception on errors
*/
public WebPageContext(
CustomConnectedClient client,
ProtocolWebServer server,
WebResourceRequestPacket request,
WebHasher hasher
) throws Exception {
this(client, server, request, new RequestParams(request), hasher);
}
}