Fixed webserver locks
This commit is contained in:
@@ -40,16 +40,42 @@ std::vector<std::pair<std::string, const espgui::MenuItemIcon*>> menuBuf{};
|
|||||||
esp_err_t webserver_reboot_handler(httpd_req_t *req);
|
esp_err_t webserver_reboot_handler(httpd_req_t *req);
|
||||||
bool menuDisplayChanged();
|
bool menuDisplayChanged();
|
||||||
esp_err_t webserver_status_handler(httpd_req_t *req);
|
esp_err_t webserver_status_handler(httpd_req_t *req);
|
||||||
} // namespace bobbywebserver
|
|
||||||
|
esp_err_t webserver_middleware_handler(httpd_req_t *req) {
|
||||||
|
const auto handler = reinterpret_cast<esp_err_t(*)(httpd_req_t*)>(req->user_ctx);
|
||||||
|
|
||||||
|
if (configs.feature.webserver_disable_lock.value)
|
||||||
|
{
|
||||||
|
return handler(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!webserver_lock.constructed())
|
||||||
|
{
|
||||||
|
webserver_lock.construct();
|
||||||
|
webserver_lock->take(portMAX_DELAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
||||||
|
if (!helper.locked())
|
||||||
|
{
|
||||||
|
constexpr const std::string_view msg = "could not lock webserver_lock";
|
||||||
|
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
||||||
|
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return handler(req);
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
httpd_handle_t httpdHandle;
|
httpd_handle_t httpdHandle;
|
||||||
|
|
||||||
void initWebserver()
|
void initWebserver()
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
if(!configs.feature.webserver_disable_lock.value)
|
||||||
webserver_lock.construct();
|
{
|
||||||
webserver_lock->take(portMAX_DELAY);
|
webserver_lock.construct();
|
||||||
#endif
|
webserver_lock->take(portMAX_DELAY);
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
httpd_config_t httpConfig HTTPD_DEFAULT_CONFIG();
|
httpd_config_t httpConfig HTTPD_DEFAULT_CONFIG();
|
||||||
@@ -64,22 +90,22 @@ void initWebserver()
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const httpd_uri_t &uri : {
|
for (const httpd_uri_t &uri : {
|
||||||
httpd_uri_t { .uri = "/", .method = HTTP_GET, .handler = webserver_root_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_root_handler, },
|
||||||
httpd_uri_t { .uri = "/triggerRawButton", .method = HTTP_GET, .handler = webserver_triggerRawButton_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/triggerRawButton", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_triggerRawButton_handler, },
|
||||||
httpd_uri_t { .uri = "/triggerButton", .method = HTTP_GET, .handler = webserver_triggerButton_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/triggerButton", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_triggerButton_handler, },
|
||||||
httpd_uri_t { .uri = "/triggerItem", .method = HTTP_GET, .handler = webserver_triggerItem_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/triggerItem", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_triggerItem_handler, },
|
||||||
httpd_uri_t { .uri = "/setValue", .method = HTTP_GET, .handler = webserver_setValue_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/setValue", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_setValue_handler, },
|
||||||
httpd_uri_t { .uri = "/reboot", .method = HTTP_GET, .handler = webserver_reboot_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/reboot", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_reboot_handler, },
|
||||||
httpd_uri_t { .uri = "/ota", .method = HTTP_GET, .handler = webserver_ota_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/ota", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_ota_handler, },
|
||||||
httpd_uri_t { .uri = "/otaPercent", .method = HTTP_GET, .handler = webserver_ota_percentage_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/otaPercent", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_ota_percentage_handler, },
|
||||||
httpd_uri_t { .uri = "/triggerOta", .method = HTTP_GET, .handler = webserver_trigger_ota_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/triggerOta", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_trigger_ota_handler, },
|
||||||
httpd_uri_t { .uri = "/settings", .method = HTTP_GET, .handler = webserver_settings_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/settings", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_settings_handler, },
|
||||||
httpd_uri_t { .uri = "/saveSettings", .method = HTTP_GET, .handler = webserver_saveSettings_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/saveSettings", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_saveSettings_handler, },
|
||||||
httpd_uri_t { .uri = "/newSettings", .method = HTTP_GET, .handler = webserver_newSettings_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/newSettings", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_newSettings_handler, },
|
||||||
httpd_uri_t { .uri = "/saveNewSettings", .method = HTTP_GET, .handler = webserver_saveNewSettings_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/saveNewSettings", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_saveNewSettings_handler, },
|
||||||
httpd_uri_t { .uri = "/resetNewSettings", .method = HTTP_GET, .handler = webserver_resetNewSettings_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/resetNewSettings", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_resetNewSettings_handler, },
|
||||||
httpd_uri_t { .uri = "/dumpnvs", .method = HTTP_GET, .handler = webserver_dump_nvs_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/dumpnvs", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_dump_nvs_handler, },
|
||||||
httpd_uri_t { .uri = "/check", .method = HTTP_GET, .handler = webserver_status_handler, .user_ctx = NULL },
|
httpd_uri_t { .uri = "/check", .method = HTTP_GET, .handler = webserver_middleware_handler, .user_ctx = (void*)&webserver_status_handler, },
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
const auto result = httpd_register_uri_handler(httpdHandle, &uri);
|
const auto result = httpd_register_uri_handler(httpdHandle, &uri);
|
||||||
@@ -91,11 +117,12 @@ void initWebserver()
|
|||||||
|
|
||||||
void handleWebserver()
|
void handleWebserver()
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
if (!configs.feature.webserver_disable_lock.value)
|
||||||
webserver_lock->give();
|
{
|
||||||
vTaskDelay(1);
|
webserver_lock->give();
|
||||||
webserver_lock->take(portMAX_DELAY);
|
vTaskDelay(1);
|
||||||
#endif
|
webserver_lock->take(portMAX_DELAY);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@@ -156,16 +183,6 @@ bool menuDisplayChanged()
|
|||||||
|
|
||||||
esp_err_t webserver_status_handler(httpd_req_t *req)
|
esp_err_t webserver_status_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
||||||
|
|
||||||
std::string wants_json_query;
|
std::string wants_json_query;
|
||||||
|
@@ -33,15 +33,6 @@ constexpr const char * const TAG = "BOBBYWEB";
|
|||||||
|
|
||||||
esp_err_t webserver_root_handler(httpd_req_t *req)
|
esp_err_t webserver_root_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string body;
|
std::string body;
|
||||||
|
|
||||||
@@ -282,15 +273,6 @@ esp_err_t webserver_root_handler(httpd_req_t *req)
|
|||||||
|
|
||||||
esp_err_t webserver_triggerRawButton_handler(httpd_req_t *req)
|
esp_err_t webserver_triggerRawButton_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string query;
|
std::string query;
|
||||||
if (auto result = esphttpdutils::webserver_get_query(req))
|
if (auto result = esphttpdutils::webserver_get_query(req))
|
||||||
@@ -356,15 +338,6 @@ esp_err_t webserver_triggerRawButton_handler(httpd_req_t *req)
|
|||||||
|
|
||||||
esp_err_t webserver_triggerButton_handler(httpd_req_t *req)
|
esp_err_t webserver_triggerButton_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string query;
|
std::string query;
|
||||||
if (auto result = esphttpdutils::webserver_get_query(req))
|
if (auto result = esphttpdutils::webserver_get_query(req))
|
||||||
@@ -430,15 +403,6 @@ esp_err_t webserver_triggerButton_handler(httpd_req_t *req)
|
|||||||
|
|
||||||
esp_err_t webserver_triggerItem_handler(httpd_req_t *req)
|
esp_err_t webserver_triggerItem_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
||||||
|
|
||||||
@@ -520,15 +484,6 @@ esp_err_t webserver_triggerItem_handler(httpd_req_t *req)
|
|||||||
|
|
||||||
esp_err_t webserver_setValue_handler(httpd_req_t *req)
|
esp_err_t webserver_setValue_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
||||||
|
|
||||||
|
@@ -128,15 +128,6 @@ showInputForSetting(std::string_view key, T value, JsonObject &body)
|
|||||||
|
|
||||||
esp_err_t webserver_dump_nvs_handler(httpd_req_t *req)
|
esp_err_t webserver_dump_nvs_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DynamicJsonDocument doc(6144);
|
DynamicJsonDocument doc(6144);
|
||||||
|
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
#include "webserver_lock.h"
|
#include "webserver_lock.h"
|
||||||
|
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
cpputils::DelayedConstruction<espcpputils::mutex_semaphore> webserver_lock;
|
cpputils::DelayedConstruction<espcpputils::mutex_semaphore> webserver_lock;
|
||||||
#endif
|
|
||||||
|
@@ -4,6 +4,4 @@
|
|||||||
#include <delayedconstruction.h>
|
#include <delayedconstruction.h>
|
||||||
#include <wrappers/mutex_semaphore.h>
|
#include <wrappers/mutex_semaphore.h>
|
||||||
|
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
extern cpputils::DelayedConstruction<espcpputils::mutex_semaphore> webserver_lock;
|
extern cpputils::DelayedConstruction<espcpputils::mutex_semaphore> webserver_lock;
|
||||||
#endif
|
|
||||||
|
@@ -259,16 +259,6 @@ showInputForSetting(std::string_view key, T value, std::string &body)
|
|||||||
|
|
||||||
esp_err_t webserver_newSettings_handler(httpd_req_t *req)
|
esp_err_t webserver_newSettings_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
ESP_LOGI(TAG, "trying to lock...");
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string body;
|
std::string body;
|
||||||
|
|
||||||
@@ -502,15 +492,6 @@ saveSetting(ConfigWrapper<T> &config, std::string_view newValue)
|
|||||||
|
|
||||||
esp_err_t webserver_saveNewSettings_handler(httpd_req_t *req)
|
esp_err_t webserver_saveNewSettings_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string query;
|
std::string query;
|
||||||
if (auto result = esphttpdutils::webserver_get_query(req))
|
if (auto result = esphttpdutils::webserver_get_query(req))
|
||||||
@@ -571,15 +552,6 @@ esp_err_t webserver_saveNewSettings_handler(httpd_req_t *req)
|
|||||||
|
|
||||||
esp_err_t webserver_resetNewSettings_handler(httpd_req_t *req)
|
esp_err_t webserver_resetNewSettings_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string query;
|
std::string query;
|
||||||
if (auto result = esphttpdutils::webserver_get_query(req))
|
if (auto result = esphttpdutils::webserver_get_query(req))
|
||||||
|
@@ -29,15 +29,6 @@ constexpr const char * const TAG = "BOBBYWEB";
|
|||||||
|
|
||||||
esp_err_t webserver_ota_percentage_handler(httpd_req_t *req)
|
esp_err_t webserver_ota_percentage_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
||||||
|
|
||||||
@@ -90,15 +81,6 @@ esp_err_t webserver_ota_percentage_handler(httpd_req_t *req)
|
|||||||
|
|
||||||
esp_err_t webserver_ota_handler(httpd_req_t *req)
|
esp_err_t webserver_ota_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
||||||
|
|
||||||
@@ -360,15 +342,6 @@ esp_err_t webserver_ota_handler(httpd_req_t *req)
|
|||||||
|
|
||||||
esp_err_t webserver_trigger_ota_handler(httpd_req_t *req)
|
esp_err_t webserver_trigger_ota_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
CALL_AND_EXIT_ON_ERROR(httpd_resp_set_hdr, req, "Access-Control-Allow-Origin", "http://web.bobbycar.cloud");
|
||||||
|
|
||||||
|
@@ -86,15 +86,6 @@ showInputForSetting(std::string_view key, T value, std::string &body)
|
|||||||
|
|
||||||
esp_err_t webserver_settings_handler(httpd_req_t *req)
|
esp_err_t webserver_settings_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string body;
|
std::string body;
|
||||||
|
|
||||||
@@ -252,15 +243,6 @@ saveSetting(T &value, std::string_view newValue, std::string &body)
|
|||||||
|
|
||||||
esp_err_t webserver_saveSettings_handler(httpd_req_t *req)
|
esp_err_t webserver_saveSettings_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
#ifndef FEATURE_IS_MIR_EGAL_OB_DER_WEBSERVER_KORREKT_ARBEITET
|
|
||||||
espcpputils::LockHelper helper{webserver_lock->handle, std::chrono::ceil<espcpputils::ticks>(5s).count()};
|
|
||||||
if (!helper.locked())
|
|
||||||
{
|
|
||||||
constexpr const std::string_view msg = "could not lock webserver_lock";
|
|
||||||
ESP_LOGE(TAG, "%.*s", msg.size(), msg.data());
|
|
||||||
CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::BadRequest, "text/plain", msg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string query;
|
std::string query;
|
||||||
if (auto result = esphttpdutils::webserver_get_query(req))
|
if (auto result = esphttpdutils::webserver_get_query(req))
|
||||||
|
Reference in New Issue
Block a user