Updated to latest Protocol Version
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user