diff options
author | Mikhail Svetkin <mikhail.svetkin@gmail.com> | 2019-07-21 12:16:19 +0200 |
---|---|---|
committer | Mikhail Svetkin <mikhail.svetkin@gmail.com> | 2019-08-20 20:20:52 +0200 |
commit | 03f911fd0a4bb2768835fe16b9bef0893ccc25b9 (patch) | |
tree | 543f0a31618ed7e77765134d161983f2b6923479 /src | |
parent | 055d36692bccb0d2d639a178c8ffdc7e67782774 (diff) |
QHttpServerResponse: Use rvalue more
Change-Id: I442245dc800a545142f3f28ea51a4465d6eaff84
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/httpserver/qhttpserverresponse.cpp | 34 | ||||
-rw-r--r-- | src/httpserver/qhttpserverresponse.h | 16 |
2 files changed, 49 insertions, 1 deletions
diff --git a/src/httpserver/qhttpserverresponse.cpp b/src/httpserver/qhttpserverresponse.cpp index 5941418..e997e96 100644 --- a/src/httpserver/qhttpserverresponse.cpp +++ b/src/httpserver/qhttpserverresponse.cpp @@ -56,7 +56,7 @@ QHttpServerResponse::QHttpServerResponse(const QHttpServerResponse::StatusCode s } QHttpServerResponse::QHttpServerResponse(const char *data) - : QHttpServerResponse(QByteArray(data)) + : QHttpServerResponse(QByteArray::fromRawData(data, qstrlen(data))) { } @@ -70,6 +70,13 @@ QHttpServerResponse::QHttpServerResponse(const QByteArray &data) { } +QHttpServerResponse::QHttpServerResponse(QByteArray &&data) + : QHttpServerResponse( + QMimeDatabase().mimeTypeForData(data).name().toLocal8Bit(), + std::move(data)) +{ +} + QHttpServerResponse::QHttpServerResponse(const QJsonObject &data) : QHttpServerResponse(mimeApplicationJson, QJsonDocument(data).toJson(QJsonDocument::Compact)) @@ -89,6 +96,31 @@ QHttpServerResponse::QHttpServerResponse(const QByteArray &mimeType, { } +QHttpServerResponse::QHttpServerResponse(QByteArray &&mimeType, + const QByteArray &data, + const StatusCode status) + : QHttpServerResponse( + new QHttpServerResponsePrivate{std::move(mimeType), data, status}) +{ +} + +QHttpServerResponse::QHttpServerResponse(const QByteArray &mimeType, + QByteArray &&data, + const StatusCode status) + : QHttpServerResponse( + new QHttpServerResponsePrivate{mimeType, std::move(data), status}) +{ +} + +QHttpServerResponse::QHttpServerResponse(QByteArray &&mimeType, + QByteArray &&data, + const StatusCode status) + : QHttpServerResponse( + new QHttpServerResponsePrivate{std::move(mimeType), std::move(data), + status}) +{ +} + QHttpServerResponse::~QHttpServerResponse() { } diff --git a/src/httpserver/qhttpserverresponse.h b/src/httpserver/qhttpserverresponse.h index 030b8c4..73fa52d 100644 --- a/src/httpserver/qhttpserverresponse.h +++ b/src/httpserver/qhttpserverresponse.h @@ -54,14 +54,30 @@ public: QHttpServerResponse& operator=(QHttpServerResponse &&other) = delete; QHttpServerResponse(const StatusCode statusCode); + QHttpServerResponse(const char *data); + QHttpServerResponse(const QString &data); + explicit QHttpServerResponse(const QByteArray &data); + explicit QHttpServerResponse(QByteArray &&data); + QHttpServerResponse(const QJsonObject &data); QHttpServerResponse(const QJsonArray &data); + QHttpServerResponse(const QByteArray &mimeType, const QByteArray &data, const StatusCode status = StatusCode::Ok); + QHttpServerResponse(QByteArray &&mimeType, + const QByteArray &data, + const StatusCode status = StatusCode::Ok); + QHttpServerResponse(const QByteArray &mimeType, + QByteArray &&data, + const StatusCode status = StatusCode::Ok); + QHttpServerResponse(QByteArray &&mimeType, + QByteArray &&data, + const StatusCode status = StatusCode::Ok); + virtual ~QHttpServerResponse(); static QHttpServerResponse fromFile(const QString &fileName); |