summary refs log tree commit diff
path: root/src/MatrixClient.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-11-28 02:01:37 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-11-28 02:01:37 +0200
commitb21942a3e3db3e425155c58483a99bc2789de241 (patch)
tree860ffe40a5028b78df79de37a9b866a772885b1f /src/MatrixClient.cc
parentRemove another /messages call (#139) (diff)
downloadnheko-b21942a3e3db3e425155c58483a99bc2789de241.tar.xz
Add read support for m.file messages (#24)
Diffstat (limited to 'src/MatrixClient.cc')
-rw-r--r--src/MatrixClient.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/MatrixClient.cc b/src/MatrixClient.cc

index dcf241a6..a171cd09 100644 --- a/src/MatrixClient.cc +++ b/src/MatrixClient.cc
@@ -587,6 +587,32 @@ MatrixClient::downloadImage(const QString &event_id, const QUrl &url) } void +MatrixClient::downloadFile(const QString &event_id, const QUrl &url) +{ + QNetworkRequest fileRequest(url); + + auto reply = get(fileRequest); + connect(reply, &QNetworkReply::finished, this, [this, reply, event_id]() { + reply->deleteLater(); + + int status = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); + + if (status == 0 || status >= 400) { + // TODO: Handle error + qWarning() << reply->errorString(); + return; + } + + auto data = reply->readAll(); + + if (data.size() == 0) + return; + + emit fileDownloaded(event_id, data); + }); +} + +void MatrixClient::fetchOwnAvatar(const QUrl &avatar_url) { QList<QString> url_parts = avatar_url.toString().split("mxc://");