void ApplyMarkQuery::onManagerFinished(QNetworkReply *reply) { QByteArray jsonResponseByteArray = reply->readAll(); if (jsonResponseByteArray.size() > 0) { QString jsonResponse(jsonResponseByteArray); qDebug() << "Gotten response (json): " << jsonResponse; QJson::Parser parser; bool ok; QVariantMap result = parser.parse(QByteArray(jsonResponse.toAscii()), &ok).toMap(); QString status(""); QString status_description(""); if (!ok) { qFatal("An error occured during parsing json with response to apply mark"); } else { status = result["status"].toString(); status_description = result["status_description"].toString(); } Q_EMIT responseReceived(status,status_description); } }
void handleRequest(AsyncWebServerRequest *request) { DynamicJsonBuffer jsonBuffer; JsonObject& json = jsonBuffer.createObject(); int res = 400; // JSON error // GET - get sensor value if (request->method() == HTTP_GET && request->params() == 0) { float val = _plugin->getValue(_sensor); if (isnan(val)) json["value"] = JSON_NULL; else { json["value"] = val; res = 200; } } // POST - set sensor UUID else if ((request->method() == HTTP_POST || request->method() == HTTP_GET) && request->params() == 1 && request->hasParam("uuid")) { String uuid = request->getParam(0)->value(); if (_plugin->setUuid(uuid.c_str(), _sensor)) { _plugin->getSensorJson(&json, _sensor); res = 200; } } jsonResponse(request, res, json); }
/** * Status JSON api */ void handleGetStatus(AsyncWebServerRequest *request) { DEBUG_MSG(SERVER, "%s (%d args)\n", request->url().c_str(), request->params()); StaticJsonBuffer<512> jsonBuffer; JsonObject& json = jsonBuffer.createObject(); if (request->hasParam("initial")) { char buf[8]; sprintf(buf, "%06x", ESP.getChipId()); json[F("serial")] = buf; json[F("build")] = BUILD; json[F("ssid")] = g_ssid; // json[F("pass")] = g_pass; json[F("middleware")] = g_middleware; json[F("flash")] = ESP.getFlashChipRealSize(); json[F("wifimode")] = (WiFi.getMode() & WIFI_STA) ? "Connected" : "Access Point"; json[F("ip")] = getIP(); } long heap = ESP.getFreeHeap(); json[F("uptime")] = millis(); json[F("heap")] = heap; json[F("minheap")] = g_minFreeHeap; json[F("resetcode")] = g_resetInfo->reason; // json[F("gpio")] = (uint32_t)(((GPI | GPO) & 0xFFFF) | ((GP16I & 0x01) << 16)); // reset free heap g_minFreeHeap = heap; jsonResponse(request, 200, json); }
void SportPlusHealthUploader::finishUpload(QNetworkReply *reply) { //Parsing JSON server reply QString strReply = (QString)reply->readAll(); MVJSONReader jsonResponse(string(strReply.toLatin1())); if(jsonResponse.root && jsonResponse.root->hasField("success") && jsonResponse.root->hasField("error_code")) { jsonResponseSuccess = jsonResponse.root->getFieldBool("success"); jsonResponseErrorCode = jsonResponse.root->getFieldInt("error_code"); } else { jsonResponseSuccess = false; jsonResponseErrorCode = -1; } reply->deleteLater(); if(!jsonResponseSuccess) { parent->progressLabel->setText(tr("error uploading to SportPlusHealth")); parent->errorLabel->setText(tr("failed to upload file (cod. %1)").arg(jsonResponseErrorCode)); ride->ride()->setTag("SphExercise", exerciseId ); ride->setDirty(true); eventLoop.quit(); return; } parent->progressBar->setValue(parent->progressBar->value()+60/parent->shareSiteCount); parent->progressLabel->setText(tr("successfully uploaded to SportPlusHealth")); eventLoop.quit(); }
/** * Get plugin information */ void handleGetPlugins(AsyncWebServerRequest *request) { DEBUG_MSG(SERVER, "%s (%d args)\n", request->url().c_str(), request->params()); DynamicJsonBuffer jsonBuffer; JsonArray& json = jsonBuffer.createArray(); Plugin::each([&json](Plugin* plugin) { JsonObject& obj = json.createNestedObject(); obj[F("name")] = plugin->getName(); plugin->getPluginJson(&obj); }); jsonResponse(request, 200, json); }