#include "frontend.h" Frontend::Frontend() : server(80) { // AP parameters Serial.print("Setting soft-AP ... "); if(WiFi.softAP("ESP_RIDS", "makkauhijau")) { Serial.print("Access Point IP: "); Serial.println(WiFi.softAPIP()); Serial.println("Ready"); } else { Serial.println("Failed!"); } // Specify the functions which will be executed upon corresponding GET request server.on("/", std::bind(&Frontend::handleOnConnect, this)); server.on("/getlocation", std::bind(&Frontend::handleForm, this)); server.on("/start", std::bind(&Frontend::startSpoof, this)); server.onNotFound(std::bind(&Frontend::handleNotFound, this)); // Starting the Server server.begin(); } void Frontend::handleClient() { server.handleClient(); } void Frontend::handleOnConnect() { Serial.println("Client Connected"); server.send(200, "text/html", HTML()); } void Frontend::handleNotFound() { server.send(404, "text/plain", "Not found"); } void Frontend::startSpoof() { do_spoof = true; WiFi.softAPdisconnect (true); } void Frontend::handleForm() { latitude = server.arg("latitude").toFloat(); longitude = server.arg("longitude").toFloat(); server.send(200, "text/html", HTML()); } String Frontend::HTML() { String msg = R"rawliteral(
Current Coordinates: "; msg += String(latitude); msg += ", "; msg += String(longitude); msg += "
\n"; msg += "Pressing this button will cause the device to turn off the web server and enter spoofing only mode.
\n"; msg += "Please confirm your GPS coordinates before doing so.
\n"; msg += "You will not be able to reconnect to this page without a power cycle.
\n"; msg += "Start Spoofing\n"; msg += R"rawliteral( )rawliteral"; return msg; }