dev #2

Merged
open-autonomous-connection merged 2 commits from dev into master 2026-03-02 16:13:50 +00:00
2 changed files with 41 additions and 4 deletions
Showing only changes of commit 2d63489b86 - Show all commits

View File

@@ -6,7 +6,7 @@
<groupId>org.openautonomousconnection</groupId>
<artifactId>WebServer</artifactId>
<version>1.0.1-BETA.0.4</version>
<version>1.0.1-BETA.0.5</version>
<organization>
<name>Open Autonomous Connection</name>
<url>https://open-autonomous-connection.org/</url>

View File

@@ -1,13 +1,50 @@
package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.impl.resource.WebResourceResponsePacket;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.html.HTMLBodyElement;
import org.w3c.dom.html.HTMLDocument;
import org.w3c.dom.html.HTMLHeadElement;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
/**
* Server-side Java page (v1.0.1-BETA).
*
* <p>Every .java page must implement this interface.</p>
* <p>Every .java page must extend this class.</p>
*/
public interface WebPage {
public abstract class WebPage {
private static final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
private static final DocumentBuilder documentBuilder;
static {
try {
documentBuilder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
throw new RuntimeException(e);
}
}
protected Document document;
protected HTMLBodyElement body;
protected HTMLHeadElement head;
/**
* Default constructor that creates a new Document instance
*/
public WebPage() {
this.document = documentBuilder.newDocument();
this.head = (HTMLHeadElement) this.document.createElement("head");
this.body = (HTMLBodyElement) this.document.createElement("body");
}
/**
* Handles a web request.
@@ -16,5 +53,5 @@ public interface WebPage {
* @return resource response packet
* @throws Exception on unexpected failures
*/
WebResourceResponsePacket handle(WebPageContext ctx) throws Exception;
public abstract WebResourceResponsePacket handle(WebPageContext ctx) throws Exception;
}