update to async web server

This commit is contained in:
cjkas 2026-03-24 08:02:10 +01:00
parent 73f39d67c3
commit a55dc7f66b
8 changed files with 1089 additions and 2966 deletions

View file

@ -1,4 +1,3 @@
#include <WebServer.h>
#include <ESPAsyncWebServer.h>
#include <AsyncJson.h>
#include "Somfy.h"
@ -7,45 +6,18 @@
class Web {
public:
bool uploadSuccess = false;
void sendCORSHeaders(WebServer &server);
void sendCacheHeaders(uint32_t seconds=604800);
void startup();
void handleLogin(WebServer &server);
void handleLogout(WebServer &server);
void handleStreamFile(WebServer &server, const char *filename, const char *encoding);
void handleController(WebServer &server);
void handleLoginContext(WebServer &server);
void handleGetRepeaters(WebServer &server);
void handleGetRooms(WebServer &server);
void handleGetShades(WebServer &server);
void handleGetGroups(WebServer &server);
void handleShadeCommand(WebServer &server);
void handleRepeatCommand(WebServer &server);
void handleGroupCommand(WebServer &server);
void handleTiltCommand(WebServer &server);
void handleDiscovery(WebServer &server);
void handleNotFound(WebServer &server);
void handleRoom(WebServer &server);
void handleShade(WebServer &server);
void handleGroup(WebServer &server);
void handleSetPositions(WebServer &server);
void handleSetSensor(WebServer &server);
void handleDownloadFirmware(WebServer &server);
void handleBackup(WebServer &server, bool attach = false);
void handleReboot(WebServer &server);
void handleDeserializationError(WebServer &server, DeserializationError &err);
void begin();
void loop();
void end();
// Web Handlers
// Auth helpers
bool createAPIToken(const IPAddress ipAddress, char *token);
bool createAPIToken(const char *payload, char *token);
bool createAPIPinToken(const IPAddress ipAddress, const char *pin, char *token);
bool createAPIPasswordToken(const IPAddress ipAddress, const char *username, const char *password, char *token);
bool isAuthenticated(WebServer &server, bool cfg = false);
bool isAuthenticated(AsyncWebServerRequest *request, bool cfg = false);
// Async API handler overloads (port 8081)
// Async API handlers
void handleDiscovery(AsyncWebServerRequest *request);
void handleGetRooms(AsyncWebServerRequest *request);
void handleGetShades(AsyncWebServerRequest *request);