Compare commits

...
2 changed files with 6 additions and 0 deletions
@@ -3,6 +3,8 @@
namespace esphome::web_server_base {
WebServerBase::WebServerBase() {}
WebServerBase *global_web_server_base = nullptr; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables)
void WebServerBase::add_handler(AsyncWebHandler *handler) {
@@ -112,6 +112,10 @@ class AuthMiddlewareHandler : public MiddlewareHandler {
class WebServerBase final {
public:
// User provided, not "= default": `new(p) WebServerBase()` would zero-fill .bss that is already zero.
// Defined out of line so the member constructors are not inlined into every construction site.
WebServerBase();
// The AsyncWebServer is created once and intentionally never deleted: on Arduino
// platforms ESPAsyncWebServer owns its registered handlers, so destroying it would
// also destroy live components (e.g. the captive portal) out from under us.