66 auto info_handler = std::make_shared<HTTPRequestHandler>(
67 1 << HTTP_GET,
"/api/info", [](httpd_req_t* req) {
70 JsonDocument json_doc;
71 JsonArray info_items = json_doc.to<JsonArray>();
73 for (
auto info_item = status_page_items->begin();
74 info_item != status_page_items->end(); ++info_item) {
75 info_items.add(info_item->second->as_json());
79 serializeJson(json_doc, response);
80 httpd_resp_set_type(req,
"application/json");
81 httpd_resp_sendstr(req, response.c_str());
84 server->add_handler(info_handler);
88 std::vector<RouteDefinition> routes;
93 routes.push_back(
RouteDefinition(
"Signal K",
"/signalk",
"SignalKPage"));
95 RouteDefinition(
"Configuration",
"/configuration",
"ConfigurationPage"));
98 JsonDocument json_doc;
99 JsonArray routes_json = json_doc.to<JsonArray>();
101 int sz = routes.size();
103 for (
auto it = routes.begin(); it != routes.end(); ++it) {
104 routes_json.add(it->as_json());
109 serializeJson(routes_json, response);
111 auto routes_handler = std::make_shared<HTTPRequestHandler>(
112 1 << HTTP_GET,
"/api/routes", [response](httpd_req_t* req) {
113 httpd_resp_set_type(req,
"application/json");
114 httpd_resp_sendstr(req, response.c_str());
117 server->add_handler(routes_handler);
128 if (root_page ==
nullptr) {
129 ESP_LOGE(__FILENAME__,
"Root page not found in kWebUIFiles");
135 for (
auto it = routes.begin(); it != routes.end(); ++it) {
136 String path = it->get_path();
137 auto route_handler = std::make_shared<HTTPRequestHandler>(
138 1 << HTTP_GET, path.c_str(), [root_page](httpd_req_t* req) {
139 httpd_resp_set_type(req, root_page->content_type);
140 if (root_page->content_encoding != nullptr) {
141 httpd_resp_set_hdr(req, kContentEncoding,
142 root_page->content_encoding);
147 server->add_handler(route_handler);
static const std::map< String, StatusPageItemBase * > * get_status_page_items()