MCPcopy Create free account
hub / github.com/BlueAndi/Pixelix / preProcessAsyncWebResponse

Method preProcessAsyncWebResponse

lib/VolumioPlugin/src/VolumioPlugin.cpp:381–413  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

379}
380
381bool VolumioPlugin::preProcessAsyncWebResponse(const char* payload, size_t payloadSize, DynamicJsonDocument& jsonDoc)
382{
383 bool isSuccessful = false;
384 const size_t FILTER_SIZE = 128U;
385 StaticJsonDocument<FILTER_SIZE> jsonFilterDoc;
386
387 jsonFilterDoc["artist"] = true;
388 jsonFilterDoc["duration"] = true;
389 jsonFilterDoc["seek"] = true;
390 jsonFilterDoc["service"] = true;
391 jsonFilterDoc["status"] = true;
392 jsonFilterDoc["title"] = true;
393
394 if (true == jsonFilterDoc.overflowed())
395 {
396 LOG_ERROR("JSON document size exceeded.");
397 }
398 else
399 {
400 DeserializationError error = deserializeJson(jsonDoc, payload, payloadSize, DeserializationOption::Filter(jsonFilterDoc));
401
402 if (DeserializationError::Ok != error.code())
403 {
404 LOG_WARNING("JSON parse error: %s", error.c_str());
405 }
406 else
407 {
408 isSuccessful = true;
409 }
410 }
411
412 return isSuccessful;
413}
414
415void VolumioPlugin::handleWebResponse(const DynamicJsonDocument& jsonDoc)
416{

Callers 1

startHttpRequestMethod · 0.95

Calls 1

c_strMethod · 0.80

Tested by

no test coverage detected