You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include <NTPStatus.h>
NTPStatus::NTPStatus(AsyncWebServer* server, SecurityManager* securityManager) { server->on(NTP_STATUS_SERVICE_PATH, HTTP_GET, securityManager->wrapRequest(std::bind(&NTPStatus::ntpStatus, this, std::placeholders::_1), AuthenticationPredicates::IS_AUTHENTICATED) ); }
void NTPStatus::ntpStatus(AsyncWebServerRequest *request) { AsyncJsonResponse * response = new AsyncJsonResponse(MAX_NTP_STATUS_SIZE); JsonObject root = response->getRoot();
// request time now first, this can sometimes force a sync
time_t timeNow = now(); timeStatus_t status = timeStatus(); time_t lastSync = NTP.getLastNTPSync(); root["status"] = (int) status; root["last_sync"] = lastSync; root["server"] = NTP.getNtpServerName(); root["interval"] = NTP.getInterval(); root["uptime"] = NTP.getUptime();
// only add now to response if we have successfully synced
if (status != timeNotSet){ root["now"] = timeNow; }
response->setLength(); request->send(response); }
|