mirror of
https://github.com/wled/WLED.git
synced 2025-04-23 14:27:18 +00:00
Removed dynamic dependency.
This commit is contained in:
parent
c263f11170
commit
67bf1a93e4
@ -901,37 +901,40 @@ void serveJson(AsyncWebServerRequest* request)
|
||||
return;
|
||||
}
|
||||
|
||||
AsyncJsonResponse* response = new AsyncJsonResponse(JSON_BUFFER_SIZE);
|
||||
JsonObject doc = response->getRoot();
|
||||
//AsyncJsonResponse* response = new AsyncJsonResponse(JSON_BUFFER_SIZE);
|
||||
jsonBufferLock = true;
|
||||
AsyncJsonResponse *response = new AsyncJsonResponse(&doc);
|
||||
JsonObject lDoc = response->getRoot();
|
||||
|
||||
switch (subJson)
|
||||
{
|
||||
case 1: //state
|
||||
serializeState(doc); break;
|
||||
serializeState(lDoc); break;
|
||||
case 2: //info
|
||||
serializeInfo(doc); break;
|
||||
serializeInfo(lDoc); break;
|
||||
case 4: //node list
|
||||
serializeNodes(doc); break;
|
||||
serializeNodes(lDoc); break;
|
||||
case 5: //palettes
|
||||
serializePalettes(doc, request); break;
|
||||
serializePalettes(lDoc, request); break;
|
||||
default: //all
|
||||
JsonObject state = doc.createNestedObject("state");
|
||||
JsonObject state = lDoc.createNestedObject("state");
|
||||
serializeState(state);
|
||||
JsonObject info = doc.createNestedObject("info");
|
||||
JsonObject info = lDoc.createNestedObject("info");
|
||||
serializeInfo(info);
|
||||
if (subJson != 3)
|
||||
{
|
||||
//doc[F("effects")] = serialized((const __FlashStringHelper*)JSON_mode_names);
|
||||
JsonArray effects = doc.createNestedArray(F("effects"));
|
||||
//lDoc[F("effects")] = serialized((const __FlashStringHelper*)JSON_mode_names);
|
||||
JsonArray effects = lDoc.createNestedArray(F("effects"));
|
||||
deserializeModeNames(effects, JSON_mode_names); // remove WLED-SR extensions from effect names
|
||||
doc[F("palettes")] = serialized((const __FlashStringHelper*)JSON_palette_names);
|
||||
lDoc[F("palettes")] = serialized((const __FlashStringHelper*)JSON_palette_names);
|
||||
}
|
||||
}
|
||||
|
||||
DEBUG_PRINTF("JSON buffer size: %u for request: %d\n", doc.memoryUsage(), subJson);
|
||||
DEBUG_PRINTF("JSON buffer size: %u for request: %d\n", lDoc.memoryUsage(), subJson);
|
||||
|
||||
response->setLength();
|
||||
request->send(response);
|
||||
jsonBufferLock = false;
|
||||
}
|
||||
|
||||
#define MAX_LIVE_LEDS 180
|
||||
|
@ -64,6 +64,15 @@ class AsyncJsonResponse: public AsyncAbstractResponse {
|
||||
|
||||
public:
|
||||
|
||||
AsyncJsonResponse(JsonDocument *ref, bool isArray=false) : _jsonBuffer(1), _isValid{false} {
|
||||
_code = 200;
|
||||
_contentType = JSON_MIMETYPE;
|
||||
if(isArray)
|
||||
_root = ref->as<JsonArray>();
|
||||
else
|
||||
_root = ref->as<JsonObject>();
|
||||
}
|
||||
|
||||
AsyncJsonResponse(size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE, bool isArray=false) : _jsonBuffer(maxJsonBufferSize), _isValid{false} {
|
||||
_code = 200;
|
||||
_contentType = JSON_MIMETYPE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user