From f46cb8832f19a0a40cb9fb55a5a86d821daa962a Mon Sep 17 00:00:00 2001 From: Mikhail Svetkin Date: Sun, 21 Jul 2019 12:27:36 +0200 Subject: Add QHttpServerLiterals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently we have a lot of duplication of most common HTTP headers and their values. This patch moves them to one place. Change-Id: Idf9ddc5164e81649b4cc37ed92a516eb1eedab3a Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Tasuku Suzuki --- tests/auto/qhttpserver/tst_qhttpserver.cpp | 16 +++++++++++----- .../qhttpserverresponder/qhttpserverresponder.pro | 2 +- .../tst_qhttpserverresponder.cpp | 21 ++++++++++++++------- .../qhttpserverresponse/qhttpserverresponse.pro | 2 +- .../qhttpserverresponse/tst_qhttpserverresponse.cpp | 6 ++++-- 5 files changed, 31 insertions(+), 16 deletions(-) (limited to 'tests') diff --git a/tests/auto/qhttpserver/tst_qhttpserver.cpp b/tests/auto/qhttpserver/tst_qhttpserver.cpp index 3103cb2..938e051 100644 --- a/tests/auto/qhttpserver/tst_qhttpserver.cpp +++ b/tests/auto/qhttpserver/tst_qhttpserver.cpp @@ -32,6 +32,7 @@ #include #include +#include #include #include @@ -111,7 +112,8 @@ struct CustomArg { void tst_QHttpServer::initTestCase() { httpserver.route("/test", [] (QHttpServerResponder &&responder) { - responder.write("test msg", "text/html"); + responder.write("test msg", + QHttpServerLiterals::contentTypeTextHtml()); }); httpserver.route("/", QHttpServerRequest::Method::Get, [] () { @@ -460,7 +462,8 @@ void tst_QHttpServer::routeKeepAlive() request.setUrl(urlBase.arg("/keep-alive?po=98")); request.setRawHeader("CustomHeader", "1"); - request.setHeader(QNetworkRequest::ContentTypeHeader, "text/html"); + request.setHeader(QNetworkRequest::ContentTypeHeader, + QHttpServerLiterals::contentTypeTextHtml()); checkReply(networkAccessManager.post(request, QByteArray("test")), QString("header: 1, query: po=98, body: test, method: %1") @@ -470,7 +473,8 @@ void tst_QHttpServer::routeKeepAlive() request = QNetworkRequest(urlBase.arg("/keep-alive")); request.setRawHeader(QByteArray("Connection"), QByteArray("keep-alive")); - request.setHeader(QNetworkRequest::ContentTypeHeader, "text/html"); + request.setHeader(QNetworkRequest::ContentTypeHeader, + QHttpServerLiterals::contentTypeTextHtml()); checkReply(networkAccessManager.post(request, QByteArray("")), QString("header: , query: , body: , method: %1") @@ -543,8 +547,10 @@ void tst_QHttpServer::routePost() QNetworkAccessManager networkAccessManager; QNetworkRequest request(QUrl(urlBase.arg(url))); - if (data.size()) - request.setHeader(QNetworkRequest::ContentTypeHeader, "text/html"); + if (data.size()) { + request.setHeader(QNetworkRequest::ContentTypeHeader, + QHttpServerLiterals::contentTypeTextHtml()); + } auto reply = networkAccessManager.post(request, data.toUtf8()); diff --git a/tests/auto/qhttpserverresponder/qhttpserverresponder.pro b/tests/auto/qhttpserverresponder/qhttpserverresponder.pro index 76ca847..e3031db 100644 --- a/tests/auto/qhttpserverresponder/qhttpserverresponder.pro +++ b/tests/auto/qhttpserverresponder/qhttpserverresponder.pro @@ -2,6 +2,6 @@ CONFIG += testcase TARGET = tst_qhttpserverresponder SOURCES += tst_qhttpserverresponder.cpp -QT = httpserver testlib +QT = httpserver httpserver-private testlib TESTDATA += *.html diff --git a/tests/auto/qhttpserverresponder/tst_qhttpserverresponder.cpp b/tests/auto/qhttpserverresponder/tst_qhttpserverresponder.cpp index 436a1c0..b6dd81f 100644 --- a/tests/auto/qhttpserverresponder/tst_qhttpserverresponder.cpp +++ b/tests/auto/qhttpserverresponder/tst_qhttpserverresponder.cpp @@ -30,6 +30,8 @@ #include #include +#include + #include #include #include @@ -95,7 +97,7 @@ void tst_QHttpServerResponder::defaultStatusCodeNoParameters() void tst_QHttpServerResponder::defaultStatusCodeByteArray() { HttpServer server([](QHttpServerResponder responder) { - responder.write(QByteArray(), QByteArrayLiteral("application/x-empty")); + responder.write(QByteArray(), QHttpServerLiterals::contentTypeXEmpty()); }); auto reply = networkAccessManager->get(QNetworkRequest(server.url)); qWaitForFinished(reply); @@ -159,7 +161,8 @@ void tst_QHttpServerResponder::writeJson() auto reply = networkAccessManager->get(QNetworkRequest(server.url)); qWaitForFinished(reply); QCOMPARE(reply->error(), QNetworkReply::NoError); - QCOMPARE(reply->header(QNetworkRequest::ContentTypeHeader), QByteArrayLiteral("text/json")); + QCOMPARE(reply->header(QNetworkRequest::ContentTypeHeader), + QHttpServerLiterals::contentTypeJson()); QCOMPARE(QJsonDocument::fromJson(reply->readAll()), json); } @@ -172,7 +175,8 @@ void tst_QHttpServerResponder::writeJsonExtraHeader() auto reply = networkAccessManager->get(QNetworkRequest(server.url)); qWaitForFinished(reply); QCOMPARE(reply->error(), QNetworkReply::NoError); - QCOMPARE(reply->header(QNetworkRequest::ContentTypeHeader), QByteArrayLiteral("text/json")); + QCOMPARE(reply->header(QNetworkRequest::ContentTypeHeader), + QHttpServerLiterals::contentTypeJson()); QCOMPARE(reply->header(QNetworkRequest::ServerHeader), headerServerValue); QCOMPARE(QJsonDocument::fromJson(reply->readAll()), json); } @@ -213,7 +217,7 @@ void tst_QHttpServerResponder::writeFile() QSignalSpy spyDestroyIoDevice(iodevice, &QObject::destroyed); HttpServer server([&iodevice](QHttpServerResponder responder) { - responder.write(iodevice, "text/html"); + responder.write(iodevice, QHttpServerLiterals::contentTypeTextHtml()); }); auto reply = networkAccessManager->get(QNetworkRequest(server.url)); QTRY_VERIFY(reply->isFinished()); @@ -229,20 +233,23 @@ void tst_QHttpServerResponder::writeFileExtraHeader() { auto file = new QFile(QFINDTESTDATA("index.html"), this); QSignalSpy spyDestroyIoDevice(file, &QObject::destroyed); - const QByteArray contentType("text/html"); HttpServer server([=](QHttpServerResponder responder) { responder.write( file, { - { "Content-Type", contentType }, + { + QHttpServerLiterals::contentTypeHeader(), + QHttpServerLiterals::contentTypeTextHtml() + }, { headerServerString, headerServerValue } }); }); auto reply = networkAccessManager->get(QNetworkRequest(server.url)); QTRY_VERIFY(reply->isFinished()); - QCOMPARE(reply->header(QNetworkRequest::ContentTypeHeader), contentType); + QCOMPARE(reply->header(QNetworkRequest::ContentTypeHeader), + QHttpServerLiterals::contentTypeTextHtml()); QCOMPARE(reply->header(QNetworkRequest::ServerHeader), headerServerValue); QCOMPARE(reply->readAll().trimmed(), ""); diff --git a/tests/auto/qhttpserverresponse/qhttpserverresponse.pro b/tests/auto/qhttpserverresponse/qhttpserverresponse.pro index dc0b359..97ac43e 100644 --- a/tests/auto/qhttpserverresponse/qhttpserverresponse.pro +++ b/tests/auto/qhttpserverresponse/qhttpserverresponse.pro @@ -2,6 +2,6 @@ CONFIG += testcase TARGET = tst_qhttpserverresponse SOURCES += tst_qhttpserverresponse.cpp -QT = httpserver testlib +QT = httpserver httpserver-private testlib TESTDATA += data/ diff --git a/tests/auto/qhttpserverresponse/tst_qhttpserverresponse.cpp b/tests/auto/qhttpserverresponse/tst_qhttpserverresponse.cpp index a7cd837..53b00ca 100644 --- a/tests/auto/qhttpserverresponse/tst_qhttpserverresponse.cpp +++ b/tests/auto/qhttpserverresponse/tst_qhttpserverresponse.cpp @@ -29,6 +29,8 @@ #include +#include + #include #include @@ -60,7 +62,7 @@ void tst_QHttpServerResponse::mimeTypeDetection_data() QTest::addRow("text/html") << QFINDTESTDATA("data/text.html") - << QByteArrayLiteral("text/html"); + << QHttpServerLiterals::contentTypeTextHtml(); QTest::addRow("image/png") << QFINDTESTDATA("data/image.png") @@ -103,7 +105,7 @@ void tst_QHttpServerResponse::mimeTypeDetectionFromFile_data() QTest::addRow("text/html") << QFINDTESTDATA("data/text.html") - << QByteArrayLiteral("text/html"); + << QHttpServerLiterals::contentTypeTextHtml(); QTest::addRow("image/png") << QFINDTESTDATA("data/image.png") -- cgit v1.2.3