diff --git a/code/components/jomjol_fileserver_ota/server_ota.cpp b/code/components/jomjol_fileserver_ota/server_ota.cpp index 728d800b..6bc3d172 100644 --- a/code/components/jomjol_fileserver_ota/server_ota.cpp +++ b/code/components/jomjol_fileserver_ota/server_ota.cpp @@ -666,8 +666,42 @@ esp_err_t handler_reboot(httpd_req_t *req) LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_reboot"); ESP_LOGI(TAG, "!!! System will restart within 5 sec!!!"); - const char* resp_str = "
"; - httpd_resp_send(req, resp_str, strlen(resp_str)); + + char _query[200]; + char _valuechar[30]; + std::string _task; + std::string response = + ""; + + if (httpd_req_get_url_query_str(req, _query, 200) == ESP_OK) + { + ESP_LOGD(TAG, "Query: %s", _query); + + if (httpd_query_key_value(_query, "task", _valuechar, 30) == ESP_OK) + { + ESP_LOGD(TAG, "task is found: %s", _valuechar); + _task = std::string(_valuechar); + } + } + + httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*"); + + if (_task.compare("OTA") == 0) { // Reboot after OTA upload + response.append(""); + } + else { // Normal reboot + response.append(""); + } + + response.append("