Files
EspLedController/main/webserver.cpp
T

60 lines
1.5 KiB
C++
Raw Normal View History

2021-08-28 19:31:44 +02:00
#include "webserver.h"
// esp-idf includes
#include <esp_log.h>
#include <esp_http_server.h>
// 3rdparty lib includes
#include <esphttpdutils.h>
#include <espcppmacros.h>
// local includes
using namespace esphttpdutils;
namespace {
constexpr const char * const TAG = "WEBSERVER";
httpd_handle_t httpdHandle;
esp_err_t webserver_root_handler(httpd_req_t *req);
} // namespace
void webserver_setup()
{
{
httpd_config_t httpConfig HTTPD_DEFAULT_CONFIG();
httpConfig.core_id = 1;
httpConfig.max_uri_handlers = 14;
const auto result = httpd_start(&httpdHandle, &httpConfig);
ESP_LOG_LEVEL_LOCAL((result == ESP_OK ? ESP_LOG_INFO : ESP_LOG_ERROR), TAG, "httpd_start(): %s", esp_err_to_name(result));
if (result != ESP_OK)
return;
}
for (const httpd_uri_t &uri : {
httpd_uri_t { .uri = "/", .method = HTTP_GET, .handler = webserver_root_handler, .user_ctx = NULL },
})
{
const auto result = httpd_register_uri_handler(httpdHandle, &uri);
ESP_LOG_LEVEL_LOCAL((result == ESP_OK ? ESP_LOG_INFO : ESP_LOG_ERROR), TAG, "httpd_register_uri_handler() for %s: %s", uri.uri, esp_err_to_name(result));
//if (result != ESP_OK)
// return result;
}
}
void webserver_update()
{
}
namespace {
esp_err_t webserver_root_handler(httpd_req_t *req)
{
std::string body = "hello world";
CALL_AND_EXIT(webserver_resp_send_succ, req, "text/html", body)
}
}