use PSRAM in AsyncJsonResponse

This commit is contained in:
proddy
2026-05-17 16:19:54 +02:00
parent 144d6589ef
commit 90894898c2
18 changed files with 179 additions and 21 deletions

View File

@@ -10,7 +10,7 @@ APStatus::APStatus(AsyncWebServer * server, SecurityManager * securityManager, A
}
void APStatus::apStatus(AsyncWebServerRequest * request) {
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject root = response->getRoot();
root["status"] = _apSettingsService->getAPNetworkStatus();

View File

@@ -1,5 +1,7 @@
#include "AuthenticationService.h"
#include "../core/psram_async_json_response.h"
AuthenticationService::AuthenticationService(AsyncWebServer * server, SecurityManager * securityManager)
: _securityManager(securityManager) {
// none of these need authentication
@@ -23,7 +25,7 @@ void AuthenticationService::signIn(AsyncWebServerRequest * request, JsonVariant
Authentication authentication = _securityManager->authenticate(username, password);
if (authentication.authenticated) {
User * user = authentication.user;
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject jsonObject = response->getRoot();
jsonObject["access_token"] = _securityManager->generateJWT(user);
response->setLength();

View File

@@ -7,6 +7,7 @@
#include "SecurityManager.h"
#include "StatefulService.h"
#include "../core/psram_async_json_response.h"
#define HTTP_ENDPOINT_ORIGIN_ID "http"
@@ -58,7 +59,7 @@ class HttpEndpoint {
}
}
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject jsonObject = response->getRoot().to<JsonObject>();
_statefulService->read(jsonObject, _stateReader);
response->setLength();

View File

@@ -10,7 +10,7 @@ MqttStatus::MqttStatus(AsyncWebServer * server, MqttSettingsService * mqttSettin
}
void MqttStatus::mqttStatus(AsyncWebServerRequest * request) {
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject root = response->getRoot();
root["enabled"] = _mqttSettingsService->isEnabled();

View File

@@ -30,7 +30,7 @@ String toLocalTimeString(tm * time) {
}
void NTPStatus::ntpStatus(AsyncWebServerRequest * request) {
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject root = response->getRoot();
// grab the current instant in unix seconds

View File

@@ -13,7 +13,7 @@ NetworkStatus::NetworkStatus(AsyncWebServer * server, SecurityManager * security
}
void NetworkStatus::networkStatus(AsyncWebServerRequest * request) {
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject root = response->getRoot();
wl_status_t wifi_status = WiFi.status();

View File

@@ -1,5 +1,7 @@
#include "SecuritySettingsService.h"
#include "../core/psram_async_json_response.h"
SecuritySettingsService::SecuritySettingsService(AsyncWebServer * server, FS * fs)
: _httpEndpoint(SecuritySettings::read, SecuritySettings::update, this, server, SECURITY_SETTINGS_PATH, this)
, _fsPersistence(SecuritySettings::read, SecuritySettings::update, this, fs, SECURITY_SETTINGS_FILE)
@@ -112,7 +114,7 @@ void SecuritySettingsService::generateToken(AsyncWebServerRequest * request) {
auto usernameParam = request->getParam("username");
for (const User & _user : _state.users) {
if (_user.username == usernameParam->value()) {
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject root = response->getRoot();
root["token"] = generateJWT(&_user);
response->setLength();

View File

@@ -189,7 +189,7 @@ void UploadFileService::uploadComplete(AsyncWebServerRequest * request) {
// add MD5 to the response
if (strlen(_md5.data()) == _md5.size() - 1) {
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject root = response->getRoot();
root["md5"] = _md5.data();
response->setLength();

View File

@@ -1,5 +1,7 @@
#include "WiFiScanner.h"
#include "../core/psram_async_json_response.h"
WiFiScanner::WiFiScanner(AsyncWebServer * server, SecurityManager * securityManager) {
securityManager->addEndpoint(server, SCAN_NETWORKS_SERVICE_PATH, AuthenticationPredicates::IS_ADMIN, [this](AsyncWebServerRequest * request) {
scanNetworks(request);
@@ -22,7 +24,7 @@ void WiFiScanner::scanNetworks(AsyncWebServerRequest * request) {
void WiFiScanner::listNetworks(AsyncWebServerRequest * request) {
const int numNetworks = WiFi.scanComplete();
if (numNetworks > -1) {
auto * response = new AsyncJsonResponse(false);
auto * response = new emsesp::PsramAsyncJsonResponse(false);
JsonObject root = response->getRoot();
JsonArray networks = root["networks"].to<JsonArray>();
for (uint8_t i = 0; i < numNetworks; i++) {