package org.openautonomousconnection.webserver.api; 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 (v1.0.1-BETA). */ public final class WebPageContext { public final CustomConnectedClient client; public final WebResourceRequestPacket request; public final SessionContext session; public final RequestParams params; public final WebHasher hasher; public WebPageContext( CustomConnectedClient client, ProtocolWebServer server, WebResourceRequestPacket request, RequestParams params, WebHasher hasher ) throws Exception { this.client = client; this.request = request; this.session = SessionContext.from(client, server, request.getHeaders()); 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); } }