1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-21 10:26:06 +03:00
esp8266/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h
2020-07-09 09:21:38 -07:00

62 lines
1.5 KiB
C++

#ifndef __HTTP_UPDATE_SERVER_H
#define __HTTP_UPDATE_SERVER_H
#include <ESP8266WebServer.h>
namespace esp8266httpupdateserver {
using namespace esp8266webserver;
template <typename ServerType>
class ESP8266HTTPUpdateServerTemplate
{
public:
ESP8266HTTPUpdateServerTemplate(bool serial_debug=false);
void setup(ESP8266WebServerTemplate<ServerType> *server)
{
setup(server, emptyString, emptyString);
}
void setup(ESP8266WebServerTemplate<ServerType> *server, const String& path)
{
setup(server, path, emptyString, emptyString);
}
void setup(ESP8266WebServerTemplate<ServerType> *server, const String& username, const String& password)
{
setup(server, "/update", username, password);
}
void setup(ESP8266WebServerTemplate<ServerType> *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;
ESP8266WebServerTemplate<ServerType> *_server;
String _username;
String _password;
bool _authenticated;
String _updaterError;
};
};
#include "ESP8266HTTPUpdateServer-impl.h"
using ESP8266HTTPUpdateServer = esp8266httpupdateserver::ESP8266HTTPUpdateServerTemplate<WiFiServer>;
namespace BearSSL {
using ESP8266HTTPUpdateServerSecure = esp8266httpupdateserver::ESP8266HTTPUpdateServerTemplate<WiFiServerSecure>;
};
#endif