added /status with uptime and heap

This commit is contained in:
Hendrik Rauh 2024-12-15 13:17:27 +01:00
parent b3e29cb7b4
commit 42ac6f90c2
3 changed files with 28 additions and 0 deletions

View file

@ -305,6 +305,9 @@ void setup()
server.on("/networks", HTTP_GET, [](AsyncWebServerRequest *request) server.on("/networks", HTTP_GET, [](AsyncWebServerRequest *request)
{ onGetNetworks(request); }); { onGetNetworks(request); });
server.on("/status", HTTP_GET, [](AsyncWebServerRequest *request)
{ onGetStatus(request); });
server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total)
{ {
if (request->url() == "/config" && request->method() == HTTP_PUT) { if (request->url() == "/config" && request->method() == HTTP_PUT) {

View file

@ -69,6 +69,16 @@ Direction parseDirection(uint8_t direction)
throw ::std::invalid_argument("Invalid direction value: " + direction); throw ::std::invalid_argument("Invalid direction value: " + direction);
} }
size_t getFreeHeap()
{
return ESP.getFreeHeap();
}
size_t getTotalHeap()
{
return ESP.getHeapSize();
}
#pragma endregion #pragma endregion
void onGetConfig(AsyncWebServerRequest *request) void onGetConfig(AsyncWebServerRequest *request)
@ -190,3 +200,16 @@ void onGetNetworks(AsyncWebServerRequest *request)
serializeJson(doc, jsonString); serializeJson(doc, jsonString);
request->send(200, "application/json", jsonString); request->send(200, "application/json", jsonString);
} }
void onGetStatus(AsyncWebServerRequest *request)
{
JsonDocument doc;
doc["uptime"] = millis();
doc["heapFree"] = getFreeHeap();
doc["heapTotal"] = getTotalHeap();
String jsonString;
serializeJson(doc, jsonString);
request->send(200, "application/json", jsonString);
}

View file

@ -37,4 +37,6 @@ void onPutConfig(AsyncWebServerRequest *request, uint8_t *data, size_t len, size
void onGetNetworks(AsyncWebServerRequest *request); void onGetNetworks(AsyncWebServerRequest *request);
void onGetStatus(AsyncWebServerRequest *request);
// #endif // #endif