diff options
author | Mikhail Svetkin <mikhail.svetkin@gmail.com> | 2019-07-06 14:44:56 +0200 |
---|---|---|
committer | Mikhail Svetkin <mikhail.svetkin@gmail.com> | 2019-07-11 21:56:24 +0200 |
commit | b63b0862c9231e0fc8e2389cdb88d8996cdf32ef (patch) | |
tree | 755c95db534bd6a544b2800ca84da52c84294f92 | |
parent | a8777eb51e9e50161f9e6c240d3cf4a7a5aa7e8a (diff) |
QHttpServerResponse: add ctor for QJsonArray
Task-number: QTBUG-76619
Change-Id: Ibce12e33754e950f467c8fb291d447cfc0694062
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qbc.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
-rw-r--r-- | src/httpserver/qhttpserverresponse.cpp | 6 | ||||
-rw-r--r-- | src/httpserver/qhttpserverresponse.h | 1 | ||||
-rw-r--r-- | tests/auto/qhttpserver/tst_qhttpserver.cpp | 16 |
3 files changed, 23 insertions, 0 deletions
diff --git a/src/httpserver/qhttpserverresponse.cpp b/src/httpserver/qhttpserverresponse.cpp index 9b04ce0..5941418 100644 --- a/src/httpserver/qhttpserverresponse.cpp +++ b/src/httpserver/qhttpserverresponse.cpp @@ -76,6 +76,12 @@ QHttpServerResponse::QHttpServerResponse(const QJsonObject &data) { } +QHttpServerResponse::QHttpServerResponse(const QJsonArray &data) + : QHttpServerResponse(mimeApplicationJson, + QJsonDocument(data).toJson(QJsonDocument::Compact)) +{ +} + QHttpServerResponse::QHttpServerResponse(const QByteArray &mimeType, const QByteArray &data, const StatusCode status) diff --git a/src/httpserver/qhttpserverresponse.h b/src/httpserver/qhttpserverresponse.h index 89e5b9e..030b8c4 100644 --- a/src/httpserver/qhttpserverresponse.h +++ b/src/httpserver/qhttpserverresponse.h @@ -58,6 +58,7 @@ public: QHttpServerResponse(const QString &data); explicit QHttpServerResponse(const QByteArray &data); QHttpServerResponse(const QJsonObject &data); + QHttpServerResponse(const QJsonArray &data); QHttpServerResponse(const QByteArray &mimeType, const QByteArray &data, const StatusCode status = StatusCode::Ok); diff --git a/tests/auto/qhttpserver/tst_qhttpserver.cpp b/tests/auto/qhttpserver/tst_qhttpserver.cpp index 69b176c..a4e15af 100644 --- a/tests/auto/qhttpserver/tst_qhttpserver.cpp +++ b/tests/auto/qhttpserver/tst_qhttpserver.cpp @@ -44,6 +44,7 @@ #include <QtCore/qmetaobject.h> #include <QtCore/qjsonobject.h> #include <QtCore/qjsonvalue.h> +#include <QtCore/qjsonarray.h> #include <QtNetwork/qnetworkaccessmanager.h> #include <QtNetwork/qnetworkreply.h> @@ -205,6 +206,15 @@ void tst_QHttpServer::initTestCase() }; }); + httpserver.route("/json-array/", [] () { + return QJsonArray{ + 1, "2", + QJsonObject{ + {"name", "test"} + } + }; + }); + urlBase = QStringLiteral("http://localhost:%1%2").arg(httpserver.listen()); } @@ -375,6 +385,12 @@ void tst_QHttpServer::routeGet_data() << 200 << "application/json" << "{\"property\":\"test\",\"value\":1}"; + + QTest::addRow("json-array") + << "/json-array/" + << 200 + << "application/json" + << "[1,\"2\",{\"name\":\"test\"}]"; } void tst_QHttpServer::routeGet() |