コード例 #1
0
ファイル: ApplyMarkQuery.cpp プロジェクト: 4ukuta/core
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);
  }
}
コード例 #2
0
ファイル: webserver.cpp プロジェクト: andig/vzero
  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);
  }
コード例 #3
0
ファイル: webserver.cpp プロジェクト: andig/vzero
/**
 * 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);
}
コード例 #4
0
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();
}
コード例 #5
0
ファイル: webserver.cpp プロジェクト: andig/vzero
/**
 * 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);
}