diff options
author | Tasuku Suzuki <tasuku.suzuki@qbc.io> | 2019-04-27 15:54:53 +0900 |
---|---|---|
committer | Tasuku Suzuki <tasuku.suzuki@qbc.io> | 2019-06-14 15:19:29 +0900 |
commit | fc7908e628072c8d06aa4519add8a10d990ac76d (patch) | |
tree | f5a98151561b4cd7400f7e675338a2885af3fff2 /src | |
parent | c88c462ac7b7fd12a842cd2d77a8f4eef63a9bcd (diff) |
Introduce QHttpServerResponse::fromFile()
This is a shortcut for static file contents.
Change-Id: I54d97c60822e661c1405f27ea8d4598f0363b144
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/httpserver/qhttpserverresponse.cpp | 12 | ||||
-rw-r--r-- | src/httpserver/qhttpserverresponse.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/httpserver/qhttpserverresponse.cpp b/src/httpserver/qhttpserverresponse.cpp index 870be8d..72ec7ac 100644 --- a/src/httpserver/qhttpserverresponse.cpp +++ b/src/httpserver/qhttpserverresponse.cpp @@ -31,6 +31,7 @@ #include <private/qhttpserverresponse_p.h> +#include <QtCore/qfile.h> #include <QtCore/qjsondocument.h> #include <QtCore/qjsonobject.h> #include <QtCore/qmimedatabase.h> @@ -85,6 +86,17 @@ QHttpServerResponse::~QHttpServerResponse() { } +QHttpServerResponse QHttpServerResponse::fromFile(const QString &fileName) +{ + QFile file(fileName); + if (!file.open(QFile::ReadOnly)) + return QHttpServerResponse(StatusCode::NotFound); + const QByteArray data = file.readAll(); + file.close(); + const QByteArray mimeType = QMimeDatabase().mimeTypeForFileNameAndData(fileName, data).name().toLocal8Bit(); + return QHttpServerResponse(mimeType, data); +} + QHttpServerResponse::QHttpServerResponse(QHttpServerResponsePrivate *d) : d_ptr(d) { diff --git a/src/httpserver/qhttpserverresponse.h b/src/httpserver/qhttpserverresponse.h index 2ee0c0d..89e5b9e 100644 --- a/src/httpserver/qhttpserverresponse.h +++ b/src/httpserver/qhttpserverresponse.h @@ -62,6 +62,7 @@ public: const QByteArray &data, const StatusCode status = StatusCode::Ok); virtual ~QHttpServerResponse(); + static QHttpServerResponse fromFile(const QString &fileName); QByteArray data() const; |