Skip to content
Snippets Groups Projects
rest.cpp 1.19 KiB
Newer Older
Cyril Danilevski's avatar
Cyril Danilevski committed
#include "rest.hpp"

WebServer restServer(80);

void initializeRoutes() {
    restServer.on("/idn", identify);
    restServer.onNotFound(notFound);

    restServer.begin();
    Serial.println("REST Server Started");
}


void identify() {
	int seconds = millis() / 1000;
	int hours = seconds / 3600;
	int minutes = (seconds / 60) % 60;
	seconds = seconds % 60;

	String message = "{\n";

	message += "\"version\":\"";
	message += "0.1";  // TODO: Get from Git
	message += "\",\n";

	message += "\"uptime\": \"";
	message += String(hours);
	message += ":";
	message += String(minutes);
	message += ":";
	message += String(seconds);
	message += "\"";

	message += "\n}";

    restServer.send(200, "text/json", message);
}

void notFound() {
    String message = "File Not Found\n\n";
    message += "URI: ";
    message += restServer.uri();
    message += "\nMethod: ";
    message += (restServer.method() == HTTP_GET) ? "GET" : "POST";
    message += "\nArguments: ";
    message += restServer.args();
    message += "\n";
    for (uint8_t i = 0; i < restServer.args(); i++) {
        message += " " + restServer.argName(i) + ": " + restServer.arg(i) + "\n";
    }
    restServer.send(404, "text/plain", message);
}