Compare commits
16 Commits
1.0.1-BETA
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a69187992 | ||
|
|
ca19d32e35 | ||
|
|
b6aab0e15a | ||
|
|
7fa378c236 | ||
|
|
8ffc5fb5ec | ||
| 1a7a4617be | |||
| 14e2af25d6 | |||
| 0a821fc8e5 | |||
|
|
a5e234c455 | ||
|
|
17030a328f | ||
| ef30e63a59 | |||
|
|
2d63489b86 | ||
| 93df6ac904 | |||
|
|
6c8269441d | ||
|
|
8369c6aaf2 | ||
|
|
cfe178ae34 |
@@ -22,6 +22,4 @@ Download all license here: https://open-autonomous-connection.org/assets/license
|
||||
|
||||
# In progress
|
||||
|
||||
# TODO
|
||||
|
||||
everything
|
||||
# TODO
|
||||
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.openautonomousconnection</groupId>
|
||||
<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>
|
||||
<url>https://open-autonomous-connection.org/</url>
|
||||
<issueManagement>
|
||||
|
||||
4
pom.xml
4
pom.xml
@@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>org.openautonomousconnection</groupId>
|
||||
<artifactId>WebServer</artifactId>
|
||||
<version>1.0.1-BETA.0.3</version>
|
||||
<version>1.0.1-BETA.0.5</version>
|
||||
<organization>
|
||||
<name>Open Autonomous Connection</name>
|
||||
<url>https://open-autonomous-connection.org/</url>
|
||||
@@ -77,7 +77,7 @@
|
||||
<dependency>
|
||||
<groupId>org.openautonomousconnection</groupId>
|
||||
<artifactId>Protocol</artifactId>
|
||||
<version>1.0.1-BETA.0.5</version>
|
||||
<version>1.0.1-BETA.0.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
|
||||
@@ -1,13 +1,54 @@
|
||||
package org.openautonomousconnection.webserver.api;
|
||||
|
||||
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).
|
||||
*
|
||||
* <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.
|
||||
@@ -16,5 +57,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;
|
||||
}
|
||||
Reference in New Issue
Block a user