You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.4 KiB
43 lines
1.4 KiB
5 years ago
|
/**
|
||
|
* 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;
|
||
|
};
|
||
|
|
||
|
#endif // !ARDUINO_ARCH_ESP32
|
||
|
#endif // !__HTTP_UPDATE_SERVER_H
|