2019-12-01 08:28:40 +00:00
|
|
|
#include <RestartService.h>
|
|
|
|
|
|
|
|
RestartService::RestartService(AsyncWebServer* server, SecurityManager* securityManager) {
|
2019-12-03 23:16:06 +00:00
|
|
|
server->on(RESTART_SERVICE_PATH,
|
|
|
|
HTTP_POST,
|
|
|
|
securityManager->wrapRequest(std::bind(&RestartService::restart, this, std::placeholders::_1),
|
|
|
|
AuthenticationPredicates::IS_ADMIN));
|
2019-12-01 08:28:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void RestartService::restart(AsyncWebServerRequest* request) {
|
|
|
|
request->onDisconnect([]() {
|
|
|
|
#if defined(ESP8266)
|
|
|
|
ESP.reset();
|
|
|
|
#elif defined(ESP_PLATFORM)
|
|
|
|
ESP.restart();
|
|
|
|
#endif
|
|
|
|
});
|
|
|
|
request->send(200);
|
|
|
|
}
|