16 Commits

Author SHA1 Message Date
UnlegitDqrk
0a69187992 Fixed mistake where document doesn't actually have the created body or head in WebPage.java 2026-03-02 18:29:54 +01:00
Tinglyyy
ca19d32e35 Fixed mistake where document doesn't actually have the created body or head in WebPage.java 2026-03-02 17:43:45 +01:00
Tinglyyy
b6aab0e15a Merge remote-tracking branch 'origin/dev' 2026-03-02 17:43:16 +01:00
Tinglyyy
7fa378c236 Merge remote-tracking branch 'origin/dev' into dev 2026-03-02 17:42:05 +01:00
Tinglyyy
8ffc5fb5ec Fixed mistake where document doesn't actually have the created body or head in WebPage.java 2026-03-02 17:41:39 +01:00
1a7a4617be Update src/main/java/org/openautonomousconnection/webserver/api/WebPage.java 2026-03-02 16:32:42 +00:00
14e2af25d6 Update src/main/java/org/openautonomousconnection/webserver/api/WebPage.java 2026-03-02 16:32:28 +00:00
0a821fc8e5 Update README.MD 2026-03-02 16:32:06 +00:00
UnlegitDqrk
a5e234c455 Small change 2026-03-02 17:29:58 +01:00
UnlegitDqrk
17030a328f Exception logging 2026-03-02 17:27:35 +01:00
ef30e63a59 Merge pull request 'dev' (#2) from dev into master
Reviewed-on: #2
2026-03-02 16:13:49 +00:00
Tinglyyy
2d63489b86 Added Document utility to WebPage.java 2026-03-02 17:12:49 +01:00
93df6ac904 Merge pull request 'master' (#1) from master into dev
Reviewed-on: #1
2026-03-02 13:23:02 +00:00
UnlegitDqrk
6c8269441d Updated to latest Protocol Version 2026-02-28 15:44:31 +01:00
UnlegitDqrk
8369c6aaf2 Updated to latest Protocol Version 2026-02-28 15:44:11 +01:00
UnlegitDqrk
cfe178ae34 Updated to latest Protocol Version 2026-02-28 15:42:07 +01:00
4 changed files with 48 additions and 9 deletions

View File

@@ -23,5 +23,3 @@ Download all license here: https://open-autonomous-connection.org/assets/license
# In progress # In progress
# TODO # TODO
everything

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.openautonomousconnection</groupId> <groupId>org.openautonomousconnection</groupId>
<artifactId>WebServer</artifactId> <artifactId>WebServer</artifactId>
<version>1.0.1-BETA.0.3</version> <version>1.0.1-BETA.0.5</version>
<description>The default DNS-Server</description> <description>The default DNS-Server</description>
<url>https://open-autonomous-connection.org/</url> <url>https://open-autonomous-connection.org/</url>
<issueManagement> <issueManagement>

View File

@@ -6,7 +6,7 @@
<groupId>org.openautonomousconnection</groupId> <groupId>org.openautonomousconnection</groupId>
<artifactId>WebServer</artifactId> <artifactId>WebServer</artifactId>
<version>1.0.1-BETA.0.3</version> <version>1.0.1-BETA.0.5</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>
@@ -77,7 +77,7 @@
<dependency> <dependency>
<groupId>org.openautonomousconnection</groupId> <groupId>org.openautonomousconnection</groupId>
<artifactId>Protocol</artifactId> <artifactId>Protocol</artifactId>
<version>1.0.1-BETA.0.5</version> <version>1.0.1-BETA.0.6</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>

View File

@@ -1,13 +1,54 @@
package org.openautonomousconnection.webserver.api; package org.openautonomousconnection.webserver.api;
import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.impl.resource.WebResourceResponsePacket; import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.impl.resource.WebResourceResponsePacket;
import org.openautonomousconnection.webserver.Main;
import org.w3c.dom.Document;
import org.w3c.dom.html.HTMLBodyElement;
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). * 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 {
DocumentBuilder temp = null;
try {
temp = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
Main.getValues().logger.exception("Failed to create document builder", e);
temp = null;
}
documentBuilder = temp;
}
protected final Document document;
protected final HTMLHeadElement head;
protected final HTMLBodyElement body;
/**
* 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");
this.document.appendChild(this.head);
this.document.appendChild(this.body);
}
/** /**
* Handles a web request. * Handles a web request.
@@ -16,5 +57,5 @@ public interface WebPage {
* @return resource response packet * @return resource response packet
* @throws Exception on unexpected failures * @throws Exception on unexpected failures
*/ */
WebResourceResponsePacket handle(WebPageContext ctx) throws Exception; public abstract WebResourceResponsePacket handle(WebPageContext ctx) throws Exception;
} }