-
Notifications
You must be signed in to change notification settings - Fork 0
/
HTTPUpdateServer.h
43 lines (36 loc) · 1.47 KB
/
HTTPUpdateServer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/**
* Ported the ESP8266HTTPUpdateServer published by Arduino-core to
* provide the web browser based OTA update on the ESP32 platform.
* @file HTTPUpdateServer.h
* @author [email protected]
* @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