diff --git a/pom.xml b/pom.xml index 39cb547..95d76e6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.openautonomousconnection - OAC2Web + Web2OAC 1.0.0-BETA.1.1 Open Autonomous Connection @@ -104,7 +104,7 @@ org.openautonomousconnection WebServer - 1.0.0-BETA.1.5 + 1.0.0-BETA.1.6 org.projectlombok diff --git a/src/main/java/org/openautonomousconnection/oac2web/api.java b/src/main/java/org/openautonomousconnection/oac2web/api.java index 7a39187..d349635 100644 --- a/src/main/java/org/openautonomousconnection/oac2web/api.java +++ b/src/main/java/org/openautonomousconnection/oac2web/api.java @@ -37,9 +37,6 @@ public class api implements WebPage { ("Bad request:\n" + exception.getMessage()).getBytes()); } - String hidden = "ins"; - - try { HashMap dataMap = new HashMap<>(); dataMap.put("ip", hostIp); diff --git a/src/main/java/org/openautonomousconnection/oac2web/docs.java b/src/main/java/org/openautonomousconnection/oac2web/docs.java new file mode 100644 index 0000000..5ce8d31 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oac2web/docs.java @@ -0,0 +1,83 @@ +package org.openautonomousconnection.oac2web; + +import com.google.gson.JsonObject; +import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebResponsePacket; +import org.openautonomousconnection.protocol.versions.v1_0_0.beta.WebRequestMethod; +import org.openautonomousconnection.webserver.api.Route; +import org.openautonomousconnection.webserver.api.WebPage; +import org.openautonomousconnection.webserver.api.WebPageContext; + +import javax.net.ssl.HttpsURLConnection; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.Map; + +@Route(path = "docs.html") +public class docs implements WebPage { + @Override + public WebResponsePacket handle(WebPageContext webPageContext) throws Exception { + if (webPageContext.request.getMethod() == WebRequestMethod.POST) { + String hostIp = webPageContext.request.getHeaders().get("ip"); + String description = webPageContext.request.getHeaders().get("description"); + int tcp = 0; + int udp = 0; + + try { + tcp = Integer.parseInt(webPageContext.request.getHeaders().get("tcp")); + udp = Integer.parseInt(webPageContext.request.getHeaders().get("udp")); + } catch (NumberFormatException exception) { + return new WebResponsePacket(400, "text/plain", webPageContext.request.getHeaders(), + ("Bad request:\n" + exception.getMessage()).getBytes()); + } + + try { + HashMap dataMap = new HashMap<>(); + dataMap.put("ip", hostIp); + dataMap.put("tcp", String.valueOf(tcp)); + dataMap.put("udp", String.valueOf(udp)); + dataMap.put("desc", description); + + URL url = new URL("https://open-autonomous-connection.org/api/add.php"); + HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); + connection.setRequestMethod("POST"); + connection.setRequestProperty("Content-Type", "application/json"); + connection.setDoOutput(true); + JsonObject jsonData = new JsonObject(); + + for (Map.Entry entry : dataMap.entrySet()) { + jsonData.addProperty(entry.getKey(), entry.getValue()); + + try (OutputStream os = connection.getOutputStream()) { + byte[] input = jsonData.toString().getBytes(StandardCharsets.UTF_8); + os.write(input, 0, input.length); + } + } + + int responseCode = connection.getResponseCode(); + StringBuilder response = new StringBuilder(); + + try (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { + String inputLine; + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + } + + connection.disconnect(); + + return new WebResponsePacket(200, "text/plain", webPageContext.request.getHeaders(), ("Published\n" + + "Received Response Code: " + responseCode + "\n" + "Received Response: " + response).getBytes()); + + } catch (Exception e) { + return new WebResponsePacket(500, "text/plain", webPageContext.request.getHeaders(), + ("Bad request:\n" + e.getMessage()).getBytes()); + } + } + + return new WebResponsePacket(400, "text/plain", webPageContext.request.getHeaders(), "Bad request".getBytes()); + } +} diff --git a/src/main/java/org/openautonomousconnection/oac2web/download.java b/src/main/java/org/openautonomousconnection/oac2web/download.java index 3f78e38..35ed0eb 100644 --- a/src/main/java/org/openautonomousconnection/oac2web/download.java +++ b/src/main/java/org/openautonomousconnection/oac2web/download.java @@ -14,8 +14,6 @@ public class download implements WebPage { @Override public WebResponsePacket handle(WebPageContext webPageContext) { - if (webPageContext.request.getPath().equalsIgnoreCase("download.html")) - return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/download.html"); - return null; + return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/download.html"); } } diff --git a/src/main/java/org/openautonomousconnection/oac2web/index.java b/src/main/java/org/openautonomousconnection/oac2web/index.java index a03a652..4061d15 100644 --- a/src/main/java/org/openautonomousconnection/oac2web/index.java +++ b/src/main/java/org/openautonomousconnection/oac2web/index.java @@ -14,8 +14,6 @@ public class index implements WebPage { @Override public WebResponsePacket handle(WebPageContext webPageContext) { - if (webPageContext.request.getPath().equalsIgnoreCase("index.html")) - return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/index.html"); - return null; + return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/index.html"); } } diff --git a/src/main/java/org/openautonomousconnection/oac2web/ins.java b/src/main/java/org/openautonomousconnection/oac2web/ins.java index 476490d..e9a7bce 100644 --- a/src/main/java/org/openautonomousconnection/oac2web/ins.java +++ b/src/main/java/org/openautonomousconnection/oac2web/ins.java @@ -14,8 +14,6 @@ public class ins implements WebPage { @Override public WebResponsePacket handle(WebPageContext webPageContext) { - if (webPageContext.request.getPath().equalsIgnoreCase("ins.php")) - return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/ins.php"); - return null; + return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/ins.php"); } } diff --git a/src/main/java/org/openautonomousconnection/oac2web/license.java b/src/main/java/org/openautonomousconnection/oac2web/license.java index 542a91d..dd35b58 100644 --- a/src/main/java/org/openautonomousconnection/oac2web/license.java +++ b/src/main/java/org/openautonomousconnection/oac2web/license.java @@ -14,8 +14,6 @@ public class license implements WebPage { @Override public WebResponsePacket handle(WebPageContext webPageContext) { - if (webPageContext.request.getPath().equalsIgnoreCase("license.html")) - return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/license.html"); - return null; + return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/license.html"); } } diff --git a/src/main/java/org/openautonomousconnection/oac2web/wiki.java b/src/main/java/org/openautonomousconnection/oac2web/wiki.java index ec8366e..8a3593d 100644 --- a/src/main/java/org/openautonomousconnection/oac2web/wiki.java +++ b/src/main/java/org/openautonomousconnection/oac2web/wiki.java @@ -14,8 +14,6 @@ public class wiki implements WebPage { @Override public WebResponsePacket handle(WebPageContext webPageContext) { - if (webPageContext.request.getPath().equalsIgnoreCase("wiki.html")) - return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/wiki.html"); - return null; + return HttpsProxy.proxyGet(webPageContext, "https://open-autonomous-connection.org/wiki.html"); } }