From 902797ceb0724031776ad9d03eec7a9c0930b247 Mon Sep 17 00:00:00 2001 From: samuelbles07 Date: Sun, 8 Dec 2024 01:03:53 +0700 Subject: [PATCH] Redirect root path to dashboard --- examples/OneOpenAir/LocalServer.cpp | 29 +++++++++++++++++++++++++++++ examples/OneOpenAir/LocalServer.h | 2 ++ 2 files changed, 31 insertions(+) diff --git a/examples/OneOpenAir/LocalServer.cpp b/examples/OneOpenAir/LocalServer.cpp index 5dd97a7..1ae2a2b 100644 --- a/examples/OneOpenAir/LocalServer.cpp +++ b/examples/OneOpenAir/LocalServer.cpp @@ -9,6 +9,7 @@ LocalServer::LocalServer(Stream &log, OpenMetrics &openMetrics, LocalServer::~LocalServer() {} bool LocalServer::begin(void) { + server.on("/", HTTP_GET, [this]() { _GET_root(); }); server.on("/measures/current", HTTP_GET, [this]() { _GET_measure(); }); server.on(openMetrics.getApi(), HTTP_GET, [this]() { _GET_metrics(); }); server.on("/config", HTTP_GET, [this]() { _GET_config(); }); @@ -43,6 +44,13 @@ String LocalServer::getHostname(void) { void LocalServer::_handle(void) { server.handleClient(); } +void LocalServer::_GET_root(void) { + String body = "If you are not redirected automatically, go to dashboard."; + + server.send(302, "text/html", htmlResponse(body, true)); +} + void LocalServer::_GET_config(void) { if(ag->isOne()) { server.send(200, "application/json", config.toString()); @@ -204,5 +212,26 @@ String LocalServer::htmlDashboard(String timestamp) { page += ""; page += ""; + return page; +} + +String LocalServer::htmlResponse(String body, bool redirect) { + String page = ""; + page += ""; + page += ""; + page += " "; + page += " "; + + if (redirect) { + page += " "; + } + + page += " Page Redirection"; + page += " "; + page += " "; + page += body; + page += " "; + page += ""; + return page; } \ No newline at end of file diff --git a/examples/OneOpenAir/LocalServer.h b/examples/OneOpenAir/LocalServer.h index 3af34ff..5054b66 100644 --- a/examples/OneOpenAir/LocalServer.h +++ b/examples/OneOpenAir/LocalServer.h @@ -20,6 +20,7 @@ private: AgFirmwareMode fwMode; String htmlDashboard(String timestamp); + String htmlResponse(String body, bool redirect); public: LocalServer(Stream &log, OpenMetrics &openMetrics, Measurements &measure, @@ -31,6 +32,7 @@ public: String getHostname(void); void setFwMode(AgFirmwareMode fwMode); void _handle(void); + void _GET_root(void); void _GET_config(void); void _PUT_config(void); void _GET_metrics(void);