Beispiel #1
0
  TEST(Packager, HelloString)
  {
    QVariant var;
    var.setValue(QString("Hello!"));
    HttpResponse resp;
    JsonPackager pack;
    ASSERT_TRUE(pack.Package(var, resp));

    QString data = resp.GetBody();
    ASSERT_EQ(QString("\"Hello!\"\n"), resp.GetBody());
  }
Beispiel #2
0
  TEST(Packager, List) 
  {
    QVariant var;
    HttpResponse resp;
    JsonPackager pack;

    QList<QVariant> list;
    list.append(QVariant("A"));
    list.append(QVariant("B"));
    list.append(QVariant("C"));

    var.setValue(list);
    ASSERT_TRUE(pack.Package(var, resp));

    QString data = resp.GetBody();
    ASSERT_EQ(QString("[ \"A\", \"B\", \"C\" ]\n"), resp.GetBody());
  }
Beispiel #3
0
  TEST(Packager, Null)
  {
    QVariant var;
    HttpResponse resp;
    JsonPackager pack;
    ASSERT_TRUE(pack.Package(var, resp));

    QString data = resp.GetBody();
    ASSERT_EQ(QString("null\n"), data);
  }
Beispiel #4
0
 HttpResponse *HandleThreadException(ehs_threadid_t, HttpRequest *request, exception &ex)
 {
     HttpResponse *ret = NULL;
     string msg(ex.what());
     cerr << "##################### Catched " << msg << endl;
     cerr << "request: " << hex << request << dec << endl;
     tracing::exception *btx =
         dynamic_cast<tracing::exception*>(&ex);
     if (NULL != btx) {
         string tmsg = btx->where();
         cerr << "Backtrace:" << endl << tmsg;
         if (0 != msg.compare("fatal")) {
             ret = HttpResponse::Error(HTTPRESPONSECODE_500_INTERNALSERVERERROR, request);
             string body(ret->GetBody());
             tmsg.insert(0, "<br>\n<pre>").append(msg).append("</pre><p><a href=\"/\">Back to main page</a>");
             body.insert(body.find("</body>"), tmsg);
             ret->SetBody(body.c_str(), body.length());
         }
     }
     return ret;
 }