PsychicHTTP

This commit is contained in:
iranl
2024-08-26 23:41:54 +02:00
parent ca9c2feebc
commit 5e20c89f53
16 changed files with 1653 additions and 1530 deletions

View File

@@ -19,11 +19,12 @@
#include "Logger.h"
#include "PreferencesKeys.h"
#include "RestartReason.h"
#include <AsyncTCP.h>
#include <DNSServer.h>
#include <ESPAsyncWebServer.h>
/*
#ifdef DEBUG_NUKIHUB
#include <WString.h>
#include <MycilaWebSerial.h>
#endif
*/
char log_print_buffer[1024];
@@ -54,7 +55,7 @@ int64_t restartTs = 10 * 1000 * 60000;
#endif
AsyncWebServer* asyncServer = nullptr;
PsychicHttpServer* psychicServer = nullptr;
NukiNetwork* network = nullptr;
WebCfgServer* webCfgServer = nullptr;
Preferences* preferences = nullptr;
@@ -418,11 +419,11 @@ void setup()
if(!doOta)
{
asyncServer = new AsyncWebServer(80);
webCfgServer = new WebCfgServer(network, preferences, network->networkDeviceType() == NetworkDeviceType::WiFi, partitionType, asyncServer);
psychicServer = new PsychicHttpServer;
webCfgServer = new WebCfgServer(network, preferences, network->networkDeviceType() == NetworkDeviceType::WiFi, partitionType, psychicServer);
webCfgServer->initialize();
asyncServer->onNotFound([](AsyncWebServerRequest* request) { request->redirect("/"); });
asyncServer->begin();
psychicServer->onNotFound([](PsychicRequest* request) { return request->redirect("/"); });
psychicServer->listen(80);
}
#else
Log->print(F("Nuki Hub version "));
@@ -490,15 +491,20 @@ void setup()
{
if(!doOta)
{
asyncServer = new AsyncWebServer(80);
psychicServer = new PsychicHttpServer;
psychicServer->config.max_uri_handlers = 40;
psychicServer->config.stack_size = 8192;
psychicServer->listen(80);
if(forceEnableWebServer || preferences->getBool(preference_webserver_enabled, true))
{
webCfgServer = new WebCfgServer(nuki, nukiOpener, network, gpio, preferences, network->networkDeviceType() == NetworkDeviceType::WiFi, partitionType, asyncServer);
webCfgServer = new WebCfgServer(nuki, nukiOpener, network, gpio, preferences, network->networkDeviceType() == NetworkDeviceType::WiFi, partitionType, psychicServer);
webCfgServer->initialize();
asyncServer->onNotFound([](AsyncWebServerRequest* request) { request->redirect("/"); });
psychicServer->onNotFound([](PsychicRequest* request) { return request->redirect("/"); });
}
else asyncServer->onNotFound([](AsyncWebServerRequest* request) { request->redirect("/webserial"); });
/*
#ifdef DEBUG_NUKIHUB
else psychicServer->onNotFound([](PsychicRequest* request) { return request->redirect("/webserial"); });
if(preferences->getBool(preference_webserial_enabled, false))
{
@@ -506,8 +512,8 @@ void setup()
WebSerial.begin(asyncServer);
WebSerial.setBuffer(1024);
}
asyncServer->begin();
#endif
*/
}
}
#endif