Fixed build.

This commit is contained in:
23rd 2018-09-06 13:54:28 +03:00
parent fe24d09009
commit 2d1701cf86
3 changed files with 12 additions and 8 deletions

View file

@ -2,13 +2,14 @@
#include "common/Common.hpp" #include "common/Common.hpp"
#include "common/NetworkRequest.hpp" #include "common/NetworkRequest.hpp"
#include "messages/Link.hpp"
#include <QString> #include <QString>
namespace chatterino { namespace chatterino {
void LinkResolver::getLinkInfo(const QString url, void LinkResolver::getLinkInfo(const QString url,
std::function<void(QString)> successCallback) std::function<void(QString, Link)> successCallback)
{ {
QString requestUrl("https://braize.pajlada.com/chatterino/link_resolver/" + QString requestUrl("https://braize.pajlada.com/chatterino/link_resolver/" +
QUrl::toPercentEncoding(url, "", "/:")); QUrl::toPercentEncoding(url, "", "/:"));
@ -16,23 +17,24 @@ void LinkResolver::getLinkInfo(const QString url,
NetworkRequest request(requestUrl); NetworkRequest request(requestUrl);
request.setCaller(QThread::currentThread()); request.setCaller(QThread::currentThread());
request.setTimeout(30000); request.setTimeout(30000);
request.onSuccess([successCallback](auto result) mutable -> Outcome { request.onSuccess([successCallback, url](auto result) mutable -> Outcome {
auto root = result.parseJson(); auto root = result.parseJson();
auto statusCode = root.value("status").toInt(); auto statusCode = root.value("status").toInt();
QString response = QString(); QString response = QString();
QString linkString = url;
if (statusCode == 200) { if (statusCode == 200) {
response = root.value("tooltip").toString(); response = root.value("tooltip").toString();
url = root.value("link").toString(); linkString = root.value("link").toString();
} else { } else {
response = root.value("message").toString(); response = root.value("message").toString();
} }
successCallback(QUrl::fromPercentEncoding(response.toUtf8()), url); successCallback(QUrl::fromPercentEncoding(response.toUtf8()), Link(Link::Url, linkString));
return Success; return Success;
}); });
request.onError([successCallback](auto result) { request.onError([successCallback, url](auto result) {
successCallback("No link info found"); successCallback("No link info found", Link(Link::Url, url));
return true; return true;
}); });

View file

@ -3,13 +3,15 @@
#include <QString> #include <QString>
#include <functional> #include <functional>
#include "messages/Link.hpp"
namespace chatterino { namespace chatterino {
class LinkResolver class LinkResolver
{ {
public: public:
static void getLinkInfo(const QString url, static void getLinkInfo(const QString url,
std::function<void(QString)> callback); std::function<void(QString, Link)> callback);
private: private:
}; };

View file

@ -281,7 +281,7 @@ void TwitchMessageBuilder::addTextOrEmoji(const QString &string_)
LinkResolver::getLinkInfo( LinkResolver::getLinkInfo(
linkString, [linkMELowercase, linkMEOriginal](QString tooltipText, linkString, [linkMELowercase, linkMEOriginal](QString tooltipText,
QString originalLink) { Link originalLink) {
if (!tooltipText.isEmpty()) { if (!tooltipText.isEmpty()) {
linkMELowercase->setTooltip(tooltipText) linkMELowercase->setTooltip(tooltipText)
->setLink(originalLink); ->setLink(originalLink);