#pragma once #include #include #include #include #include #include class WebServer { public: bool start(Adafruit_SCD30 *scd30); static WebServer &instance(void) { static WebServer theInstance; return theInstance; } private: httpsserver::HTTPServer *m_server; Adafruit_SCD30 *m_scd30; WebServer(void); static void serverTask(void *arg); static bool serveFile(String filename, httpsserver::HTTPResponse *res); // handlers static void handleRoot(httpsserver::HTTPRequest *req, httpsserver::HTTPResponse *res); static void handleCalibrate(httpsserver::HTTPRequest *req, httpsserver::HTTPResponse *res); static void handleReadout(httpsserver::HTTPRequest *req, httpsserver::HTTPResponse *res); static void handleStatic(httpsserver::HTTPRequest *req, httpsserver::HTTPResponse *res); };