1414
1515#define LOG_SCOPE " APB::WebServer "
1616
17- #ifdef ALLOW_ALL_CORS
18- #define ALLOW_CORS_VALUE true
19- #else
20- #define ALLOW_CORS_VALUE false
21- #endif
22-
2317using namespace std ::placeholders;
2418using namespace GuLinux ;
2519
@@ -33,10 +27,13 @@ APB::WebServer::WebServer(Scheduler &scheduler) : AsyncWebServerBase{},
3327
3428void APB::WebServer::setup () {
3529 Log.traceln (LOG_SCOPE " Setup" );
30+ setupCors ();
31+ setupElegantOTA ();
32+ setupJsonNotFoundPage ();
33+ #ifdef ALLOW_ALL_CORS
34+ setupCors ();
35+ #endif
3636
37- setupBase (true , ALLOW_CORS_VALUE);
38-
39-
4037 onJsonRequest (" /api/config/accessPoint" , std::bind (&WiFiManager::onConfigAccessPoint, &WiFiManager::Instance, _1, _2), HTTP_POST | HTTP_DELETE);
4138 onJsonRequest (" /api/config/station" , std::bind (&WiFiManager::onConfigStation, &WiFiManager::Instance, _1, _2), HTTP_POST | HTTP_DELETE);
4239 onJsonRequest (" /api/config/statusLedDuty" , std::bind (&WebServer::onConfigStatusLedDuty, this , _1, _2), HTTP_POST);
@@ -64,7 +61,6 @@ void APB::WebServer::setup() {
6461 webserver.serveStatic (" /" , LittleFS, " /web/" ).setDefaultFile (" index.html" );
6562 webserver.serveStatic (" /static" , LittleFS, " /web/static" ).setDefaultFile (" index.html" );
6663 webserver.addHandler (&events);
67- webserver.onNotFound (std::bind (&APB::WebServer::onNotFound, this , _1));
6864 onJsonRequest (" /api/heater" , std::bind (&APB::WebServer::onPostSetHeater, this , _1, _2), HTTP_POST);
6965
7066 Log.infoln (LOG_SCOPE " Setup finished" );
@@ -206,26 +202,26 @@ void APB::WebServer::onGetMetrics(AsyncWebServerRequest *request) {
206202 .gauge (" ambient" , ambientReading->humidity , MetricsResponse::Labels ().unit (" %" ).field (" humidity" ), nullptr , false )
207203 .gauge (" ambient" , ambientReading->dewpoint (), MetricsResponse::Labels ().unit (" °C" ).field (" dewpoint" ), nullptr , false );
208204 }
209- std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index= 0 , &metricsResponse](const Heater &heater) mutable {
205+ std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [&metricsResponse](const Heater &heater) {
210206 metricsResponse.gauge (" heater" , heater.maxDuty (), MetricsResponse::Labels ()
211207 .add (" index" , String (heater.index ()).c_str ())
212208 .field (" maxDuty" )
213- .add (" mode" , heater.modeAsString ().c_str ()), nullptr , index++ ==0 );
209+ .add (" mode" , heater.modeAsString ().c_str ()), nullptr , heater. index () ==0 );
214210 });
215- std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index= 0 , &metricsResponse](const Heater &heater) mutable {
211+ std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [&metricsResponse](const Heater &heater) {
216212 metricsResponse.gauge (" heater" , heater.duty (), MetricsResponse::Labels ()
217213 .add (" index" , String (heater.index ()).c_str ())
218214 .field (" duty" )
219- .add (" mode" , heater.modeAsString ().c_str ()), nullptr , index++== 0 );
215+ .add (" mode" , heater.modeAsString ().c_str ()), nullptr , false );
220216 });
221217
222- std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index= 0 , &metricsResponse](const Heater &heater) mutable {
218+ std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [&metricsResponse](const Heater &heater) {
223219 metricsResponse.gauge (" heater" , heater.active (), MetricsResponse::Labels ()
224220 .add (" index" , String (heater.index ()).c_str ())
225221 .field (" active" )
226222 .add (" mode" , heater.modeAsString ().c_str ()), nullptr , false );
227223 });
228- std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index= 0 , &metricsResponse](const Heater &heater) mutable {
224+ std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [&metricsResponse](const Heater &heater) {
229225 if (heater.temperature ().has_value ()) {
230226 metricsResponse.gauge (" heater" , heater.temperature ().value (), MetricsResponse::Labels ()
231227 .add (" index" , String (heater.index ()).c_str ())
@@ -234,7 +230,7 @@ void APB::WebServer::onGetMetrics(AsyncWebServerRequest *request) {
234230 .add (" mode" , heater.modeAsString ().c_str ()), nullptr , false );
235231 }
236232 });
237- std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index= 0 , &metricsResponse](const Heater &heater) mutable {
233+ std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [&metricsResponse](const Heater &heater) {
238234 if (heater.targetTemperature ().has_value ()) {
239235 metricsResponse.gauge (" heater_target_temperature" , heater.targetTemperature ().value (), MetricsResponse::Labels ()
240236 .add (" index" , String (heater.index ()).c_str ())
0 commit comments