1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /**
- * Ported the ESP8266HTTPUpdateServer published by Arduino-core to
- * provide the web browser based OTA update on the ESP32 platform.
- * @file HTTPUpdateServer.h
- * @author hieromon@gmail.com
- * @version 0.9.10
- * @date 2019-06-06
- * @copyright MIT license.
- */
- #ifndef __HTTP_UPDATE_SERVER_H
- #define __HTTP_UPDATE_SERVER_H
- #ifdef ARDUINO_ARCH_ESP32
- // This class will available only EPS32 actually.
- class WebServer;
- class HTTPUpdateServer {
- public:
- explicit HTTPUpdateServer(bool serial_debug = false) : _serial_output(serial_debug), _server(nullptr), _username(_emptyString), _password(_emptyString), _authenticated(false) {}
- ~HTTPUpdateServer() {}
- void setup(WebServer* server) { setup(server, _emptyString, _emptyString); }
- void setup(WebServer* server, const String& path) { setup(server, path, _emptyString, _emptyString); }
- void setup(WebServer* server, const String& username, const String& password) { setup(server, "/update", username, password); }
- void setup(WebServer* server, const String& path, const String& username, const String& password);
- void updateCredentials(const String& username, const String& password) { _username = username; _password = password; }
- protected:
- void _setUpdaterError();
- private:
- bool _serial_output;
- WebServer* _server;
- String _username;
- String _password;
- bool _authenticated;
- String _updaterError;
- static const String _emptyString;
- };
- #endif // !ARDUINO_ARCH_ESP32
- #endif // !__HTTP_UPDATE_SERVER_H
|