diff options
author | Black Hat <bhat@encom.eu.org> | 2019-09-26 22:22:36 -0700 |
---|---|---|
committer | Black Hat <bhat@encom.eu.org> | 2019-09-26 22:22:36 -0700 |
commit | 363cf452bcdbaf6ff1cf94a83ca66cbb31122346 (patch) | |
tree | c64c8fda885e4e1785130e8ee3e7c47fd18cbf67 /lib/csapi/content-repo.cpp | |
parent | 412e2cf19449e73aa7da729e9c5de6502687aade (diff) | |
parent | 944653463fe4134c82d85e2d01e2bc0fa43fd727 (diff) | |
download | libquotient-363cf452bcdbaf6ff1cf94a83ca66cbb31122346.tar.gz libquotient-363cf452bcdbaf6ff1cf94a83ca66cbb31122346.zip |
Merge branch 'master' of https://github.com/quotient-im/libQuotient into
bhat-libqtolm-update
Diffstat (limited to 'lib/csapi/content-repo.cpp')
-rw-r--r-- | lib/csapi/content-repo.cpp | 187 |
1 files changed, 92 insertions, 95 deletions
diff --git a/lib/csapi/content-repo.cpp b/lib/csapi/content-repo.cpp index 7e490604..395337f3 100644 --- a/lib/csapi/content-repo.cpp +++ b/lib/csapi/content-repo.cpp @@ -6,17 +6,17 @@ #include "converters.h" -#include <QtNetwork/QNetworkReply> #include <QtCore/QStringBuilder> +#include <QtNetwork/QNetworkReply> -using namespace QMatrixClient; +using namespace Quotient; static const auto basePath = QStringLiteral("/_matrix/media/r0"); class UploadContentJob::Private { - public: - QString contentUri; +public: + QString contentUri; }; BaseJob::Query queryToUploadContent(const QString& filename) @@ -28,40 +28,37 @@ BaseJob::Query queryToUploadContent(const QString& filename) static const auto UploadContentJobName = QStringLiteral("UploadContentJob"); -UploadContentJob::UploadContentJob(QIODevice* content, const QString& filename, const QString& contentType) - : BaseJob(HttpVerb::Post, UploadContentJobName, - basePath % "/upload", - queryToUploadContent(filename)) +UploadContentJob::UploadContentJob(QIODevice* content, const QString& filename, + const QString& contentType) + : BaseJob(HttpVerb::Post, UploadContentJobName, basePath % "/upload", + queryToUploadContent(filename)) , d(new Private) { setRequestHeader("Content-Type", contentType.toLatin1()); - setRequestData(Data(content)); } UploadContentJob::~UploadContentJob() = default; -const QString& UploadContentJob::contentUri() const -{ - return d->contentUri; -} +const QString& UploadContentJob::contentUri() const { return d->contentUri; } BaseJob::Status UploadContentJob::parseJson(const QJsonDocument& data) { auto json = data.object(); if (!json.contains("content_uri"_ls)) return { IncorrectResponse, - "The key 'content_uri' not found in the response" }; + "The key 'content_uri' not found in the response" }; fromJson(json.value("content_uri"_ls), d->contentUri); + return Success; } class GetContentJob::Private { - public: - QString contentType; - QString contentDisposition; - QIODevice* data; +public: + QString contentType; + QString contentDisposition; + QIODevice* data; }; BaseJob::Query queryToGetContent(bool allowRemote) @@ -71,20 +68,22 @@ BaseJob::Query queryToGetContent(bool allowRemote) return _q; } -QUrl GetContentJob::makeRequestUrl(QUrl baseUrl, const QString& serverName, const QString& mediaId, bool allowRemote) +QUrl GetContentJob::makeRequestUrl(QUrl baseUrl, const QString& serverName, + const QString& mediaId, bool allowRemote) { return BaseJob::makeRequestUrl(std::move(baseUrl), - basePath % "/download/" % serverName % "/" % mediaId, - queryToGetContent(allowRemote)); + basePath % "/download/" % serverName % "/" + % mediaId, + queryToGetContent(allowRemote)); } static const auto GetContentJobName = QStringLiteral("GetContentJob"); -GetContentJob::GetContentJob(const QString& serverName, const QString& mediaId, bool allowRemote) +GetContentJob::GetContentJob(const QString& serverName, const QString& mediaId, + bool allowRemote) : BaseJob(HttpVerb::Get, GetContentJobName, - basePath % "/download/" % serverName % "/" % mediaId, - queryToGetContent(allowRemote), - {}, false) + basePath % "/download/" % serverName % "/" % mediaId, + queryToGetContent(allowRemote), {}, false) , d(new Private) { setExpectedContentTypes({ "*/*" }); @@ -92,20 +91,14 @@ GetContentJob::GetContentJob(const QString& serverName, const QString& mediaId, GetContentJob::~GetContentJob() = default; -const QString& GetContentJob::contentType() const -{ - return d->contentType; -} +const QString& GetContentJob::contentType() const { return d->contentType; } const QString& GetContentJob::contentDisposition() const { return d->contentDisposition; } -QIODevice* GetContentJob::data() const -{ - return d->data; -} +QIODevice* GetContentJob::data() const { return d->data; } BaseJob::Status GetContentJob::parseReply(QNetworkReply* reply) { @@ -117,10 +110,10 @@ BaseJob::Status GetContentJob::parseReply(QNetworkReply* reply) class GetContentOverrideNameJob::Private { - public: - QString contentType; - QString contentDisposition; - QIODevice* data; +public: + QString contentType; + QString contentDisposition; + QIODevice* data; }; BaseJob::Query queryToGetContentOverrideName(bool allowRemote) @@ -130,20 +123,29 @@ BaseJob::Query queryToGetContentOverrideName(bool allowRemote) return _q; } -QUrl GetContentOverrideNameJob::makeRequestUrl(QUrl baseUrl, const QString& serverName, const QString& mediaId, const QString& fileName, bool allowRemote) +QUrl GetContentOverrideNameJob::makeRequestUrl(QUrl baseUrl, + const QString& serverName, + const QString& mediaId, + const QString& fileName, + bool allowRemote) { return BaseJob::makeRequestUrl(std::move(baseUrl), - basePath % "/download/" % serverName % "/" % mediaId % "/" % fileName, - queryToGetContentOverrideName(allowRemote)); + basePath % "/download/" % serverName % "/" + % mediaId % "/" % fileName, + queryToGetContentOverrideName(allowRemote)); } -static const auto GetContentOverrideNameJobName = QStringLiteral("GetContentOverrideNameJob"); +static const auto GetContentOverrideNameJobName = + QStringLiteral("GetContentOverrideNameJob"); -GetContentOverrideNameJob::GetContentOverrideNameJob(const QString& serverName, const QString& mediaId, const QString& fileName, bool allowRemote) +GetContentOverrideNameJob::GetContentOverrideNameJob(const QString& serverName, + const QString& mediaId, + const QString& fileName, + bool allowRemote) : BaseJob(HttpVerb::Get, GetContentOverrideNameJobName, - basePath % "/download/" % serverName % "/" % mediaId % "/" % fileName, - queryToGetContentOverrideName(allowRemote), - {}, false) + basePath % "/download/" % serverName % "/" % mediaId % "/" + % fileName, + queryToGetContentOverrideName(allowRemote), {}, false) , d(new Private) { setExpectedContentTypes({ "*/*" }); @@ -161,10 +163,7 @@ const QString& GetContentOverrideNameJob::contentDisposition() const return d->contentDisposition; } -QIODevice* GetContentOverrideNameJob::data() const -{ - return d->data; -} +QIODevice* GetContentOverrideNameJob::data() const { return d->data; } BaseJob::Status GetContentOverrideNameJob::parseReply(QNetworkReply* reply) { @@ -176,12 +175,14 @@ BaseJob::Status GetContentOverrideNameJob::parseReply(QNetworkReply* reply) class GetContentThumbnailJob::Private { - public: - QString contentType; - QIODevice* data; +public: + QString contentType; + QIODevice* data; }; -BaseJob::Query queryToGetContentThumbnail(int width, int height, const QString& method, bool allowRemote) +BaseJob::Query queryToGetContentThumbnail(int width, int height, + const QString& method, + bool allowRemote) { BaseJob::Query _q; addParam<>(_q, QStringLiteral("width"), width); @@ -191,20 +192,29 @@ BaseJob::Query queryToGetContentThumbnail(int width, int height, const QString& return _q; } -QUrl GetContentThumbnailJob::makeRequestUrl(QUrl baseUrl, const QString& serverName, const QString& mediaId, int width, int height, const QString& method, bool allowRemote) +QUrl GetContentThumbnailJob::makeRequestUrl(QUrl baseUrl, + const QString& serverName, + const QString& mediaId, int width, + int height, const QString& method, + bool allowRemote) { - return BaseJob::makeRequestUrl(std::move(baseUrl), - basePath % "/thumbnail/" % serverName % "/" % mediaId, - queryToGetContentThumbnail(width, height, method, allowRemote)); + return BaseJob::makeRequestUrl( + std::move(baseUrl), + basePath % "/thumbnail/" % serverName % "/" % mediaId, + queryToGetContentThumbnail(width, height, method, allowRemote)); } -static const auto GetContentThumbnailJobName = QStringLiteral("GetContentThumbnailJob"); +static const auto GetContentThumbnailJobName = + QStringLiteral("GetContentThumbnailJob"); -GetContentThumbnailJob::GetContentThumbnailJob(const QString& serverName, const QString& mediaId, int width, int height, const QString& method, bool allowRemote) +GetContentThumbnailJob::GetContentThumbnailJob(const QString& serverName, + const QString& mediaId, int width, + int height, const QString& method, + bool allowRemote) : BaseJob(HttpVerb::Get, GetContentThumbnailJobName, - basePath % "/thumbnail/" % serverName % "/" % mediaId, - queryToGetContentThumbnail(width, height, method, allowRemote), - {}, false) + basePath % "/thumbnail/" % serverName % "/" % mediaId, + queryToGetContentThumbnail(width, height, method, allowRemote), + {}, false) , d(new Private) { setExpectedContentTypes({ "image/jpeg", "image/png" }); @@ -217,10 +227,7 @@ const QString& GetContentThumbnailJob::contentType() const return d->contentType; } -QIODevice* GetContentThumbnailJob::data() const -{ - return d->data; -} +QIODevice* GetContentThumbnailJob::data() const { return d->data; } BaseJob::Status GetContentThumbnailJob::parseReply(QNetworkReply* reply) { @@ -231,9 +238,9 @@ BaseJob::Status GetContentThumbnailJob::parseReply(QNetworkReply* reply) class GetUrlPreviewJob::Private { - public: - Omittable<qint64> matrixImageSize; - QString ogImage; +public: + Omittable<qint64> matrixImageSize; + QString ogImage; }; BaseJob::Query queryToGetUrlPreview(const QString& url, Omittable<qint64> ts) @@ -244,22 +251,20 @@ BaseJob::Query queryToGetUrlPreview(const QString& url, Omittable<qint64> ts) return _q; } -QUrl GetUrlPreviewJob::makeRequestUrl(QUrl baseUrl, const QString& url, Omittable<qint64> ts) +QUrl GetUrlPreviewJob::makeRequestUrl(QUrl baseUrl, const QString& url, + Omittable<qint64> ts) { - return BaseJob::makeRequestUrl(std::move(baseUrl), - basePath % "/preview_url", - queryToGetUrlPreview(url, ts)); + return BaseJob::makeRequestUrl(std::move(baseUrl), basePath % "/preview_url", + queryToGetUrlPreview(url, ts)); } static const auto GetUrlPreviewJobName = QStringLiteral("GetUrlPreviewJob"); GetUrlPreviewJob::GetUrlPreviewJob(const QString& url, Omittable<qint64> ts) - : BaseJob(HttpVerb::Get, GetUrlPreviewJobName, - basePath % "/preview_url", - queryToGetUrlPreview(url, ts)) + : BaseJob(HttpVerb::Get, GetUrlPreviewJobName, basePath % "/preview_url", + queryToGetUrlPreview(url, ts)) , d(new Private) -{ -} +{} GetUrlPreviewJob::~GetUrlPreviewJob() = default; @@ -268,51 +273,43 @@ Omittable<qint64> GetUrlPreviewJob::matrixImageSize() const return d->matrixImageSize; } -const QString& GetUrlPreviewJob::ogImage() const -{ - return d->ogImage; -} +const QString& GetUrlPreviewJob::ogImage() const { return d->ogImage; } BaseJob::Status GetUrlPreviewJob::parseJson(const QJsonDocument& data) { auto json = data.object(); fromJson(json.value("matrix:image:size"_ls), d->matrixImageSize); fromJson(json.value("og:image"_ls), d->ogImage); + return Success; } class GetConfigJob::Private { - public: - Omittable<qint64> uploadSize; +public: + Omittable<qint64> uploadSize; }; QUrl GetConfigJob::makeRequestUrl(QUrl baseUrl) { - return BaseJob::makeRequestUrl(std::move(baseUrl), - basePath % "/config"); + return BaseJob::makeRequestUrl(std::move(baseUrl), basePath % "/config"); } static const auto GetConfigJobName = QStringLiteral("GetConfigJob"); GetConfigJob::GetConfigJob() - : BaseJob(HttpVerb::Get, GetConfigJobName, - basePath % "/config") + : BaseJob(HttpVerb::Get, GetConfigJobName, basePath % "/config") , d(new Private) -{ -} +{} GetConfigJob::~GetConfigJob() = default; -Omittable<qint64> GetConfigJob::uploadSize() const -{ - return d->uploadSize; -} +Omittable<qint64> GetConfigJob::uploadSize() const { return d->uploadSize; } BaseJob::Status GetConfigJob::parseJson(const QJsonDocument& data) { auto json = data.object(); fromJson(json.value("m.upload.size"_ls), d->uploadSize); + return Success; } - |