Resolve "Auth for API"
This commit is contained in:
parent
6aee231a4e
commit
b531b5b360
13 changed files with 226 additions and 132 deletions
49
SourceCode/arduino/lib/Firewall/src/esp32API.hpp
Normal file
49
SourceCode/arduino/lib/Firewall/src/esp32API.hpp
Normal file
|
@ -0,0 +1,49 @@
|
|||
#ifndef ESP32_API_HPP
|
||||
#define ESP32_API_HPP
|
||||
|
||||
#include "HTTPSServer.hpp"
|
||||
#include "SSLCert.hpp"
|
||||
#include "HTTPRequest.hpp"
|
||||
#include "HTTPResponse.hpp"
|
||||
#include "ArduinoJson.h"
|
||||
|
||||
#include "Utils.hpp"
|
||||
#include "esp32Firewall.hpp"
|
||||
|
||||
using namespace httpsserver;
|
||||
|
||||
namespace firewall
|
||||
{
|
||||
class API : public Firewall
|
||||
{
|
||||
private:
|
||||
HTTPSServer *server;
|
||||
SSLCert *certificate;
|
||||
char username[32];
|
||||
char password[32];
|
||||
|
||||
ok_t setup_auth(const char *, const char *);
|
||||
auth_t check_auth(HTTPRequest *, HTTPResponse *);
|
||||
ok_t setup_certificate();
|
||||
|
||||
void setup_routing();
|
||||
void get_firewall_rule_handler(HTTPRequest *, HTTPResponse *);
|
||||
void get_firewall_rules_handler(HTTPRequest *, HTTPResponse *);
|
||||
bool request_has_firewall_parameter(ResourceParameters *);
|
||||
void post_firewall_handler(HTTPRequest *, HTTPResponse *);
|
||||
void delete_firewall_handler(HTTPRequest *, HTTPResponse *);
|
||||
void not_found_handler(HTTPRequest *, HTTPResponse *);
|
||||
|
||||
void json_generic_response(HTTPResponse *, String, const uint16_t);
|
||||
void json_message_response(HTTPResponse *, String, const uint16_t);
|
||||
String construct_json_firewall_rule(firewall_rule_t *);
|
||||
String construct_json_firewall();
|
||||
|
||||
public:
|
||||
API(const char *, const char *, const uint16_t = 8080);
|
||||
~API();
|
||||
void handle_clients();
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
Reference in a new issue