diff options
author | Petr Mrázek <peterix@gmail.com> | 2021-09-21 22:02:12 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2021-09-21 22:02:12 +0200 |
commit | a5956194df7588c22b6853966dba63dda7cbb7ac (patch) | |
tree | 9404b76daab982bbb65dc8e40a33ec6bf0c7fcd4 /libraries/katabasis/src | |
parent | d2a44effb5f422e417f3c5a766473c97f9d48f8f (diff) | |
download | PrismLauncher-a5956194df7588c22b6853966dba63dda7cbb7ac.tar.gz PrismLauncher-a5956194df7588c22b6853966dba63dda7cbb7ac.tar.bz2 PrismLauncher-a5956194df7588c22b6853966dba63dda7cbb7ac.zip |
NOISSUE Remove Requestor, it is unused
Diffstat (limited to 'libraries/katabasis/src')
-rw-r--r-- | libraries/katabasis/src/Requestor.cpp | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/libraries/katabasis/src/Requestor.cpp b/libraries/katabasis/src/Requestor.cpp deleted file mode 100644 index 53d77925..00000000 --- a/libraries/katabasis/src/Requestor.cpp +++ /dev/null @@ -1,195 +0,0 @@ -#include <cassert> - -#include <QDebug> -#include <QTimer> -#include <QBuffer> -#include <QUrlQuery> - -#include "katabasis/Requestor.h" -#include "katabasis/OAuth2.h" -#include "katabasis/Globals.h" - -namespace Katabasis { - -Requestor::Requestor(QNetworkAccessManager *manager, OAuth2 *authenticator, QObject *parent): QObject(parent), reply_(NULL), status_(Idle) { - manager_ = manager; - authenticator_ = authenticator; - if (authenticator) { - timedReplies_.setIgnoreSslErrors(authenticator->ignoreSslErrors()); - } - qRegisterMetaType<QNetworkReply::NetworkError>("QNetworkReply::NetworkError"); - connect(authenticator, &OAuth2::refreshFinished, this, &Requestor::onRefreshFinished); -} - -Requestor::~Requestor() { -} - -int Requestor::get(const QNetworkRequest &req, int timeout/* = 60*1000*/) { - if (-1 == setup(req, QNetworkAccessManager::GetOperation)) { - return -1; - } - reply_ = manager_->get(request_); - timedReplies_.add(new Reply(reply_, timeout)); - connect(reply_, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onRequestError(QNetworkReply::NetworkError))); - connect(reply_, SIGNAL(finished()), this, SLOT(onRequestFinished())); - connect(reply_, &QNetworkReply::sslErrors, this, &Requestor::onSslErrors); - return id_; -} - -int Requestor::post(const QNetworkRequest &req, const QByteArray &data, int timeout/* = 60*1000*/) { - if (-1 == setup(req, QNetworkAccessManager::PostOperation)) { - return -1; - } - data_ = data; - reply_ = manager_->post(request_, data_); - timedReplies_.add(new Reply(reply_, timeout)); - connect(reply_, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onRequestError(QNetworkReply::NetworkError))); - connect(reply_, SIGNAL(finished()), this, SLOT(onRequestFinished())); - connect(reply_, &QNetworkReply::sslErrors, this, &Requestor::onSslErrors); - connect(reply_, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(onUploadProgress(qint64,qint64))); - return id_; -} - -void Requestor::onRefreshFinished(QNetworkReply::NetworkError error) { - if (status_ != Requesting) { - qWarning() << "O2Requestor::onRefreshFinished: No pending request"; - return; - } - if (QNetworkReply::NoError == error) { - QTimer::singleShot(100, this, &Requestor::retry); - } else { - error_ = error; - QTimer::singleShot(10, this, &Requestor::finish); - } -} - -void Requestor::onRequestFinished() { - if (status_ == Idle) { - return; - } - if (reply_ != qobject_cast<QNetworkReply *>(sender())) { - return; - } - if (reply_->error() == QNetworkReply::NoError) { - QTimer::singleShot(10, this, SLOT(finish())); - } -} - -void Requestor::onRequestError(QNetworkReply::NetworkError error) { - qWarning() << "O2Requestor::onRequestError: Error" << (int)error; - if (status_ == Idle) { - return; - } - if (reply_ != qobject_cast<QNetworkReply *>(sender())) { - return; - } - qWarning() << "O2Requestor::onRequestError: Error string: " << reply_->errorString(); - int httpStatus = reply_->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); - qWarning() << "O2Requestor::onRequestError: HTTP status" << httpStatus << reply_->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString(); - if ((status_ == Requesting) && (httpStatus == 401)) { - // Call OAuth2::refresh. Note the O2 instance might live in a different thread - if (QMetaObject::invokeMethod(authenticator_, "refresh")) { - return; - } - qCritical() << "O2Requestor::onRequestError: Invoking remote refresh failed"; - } - error_ = error; - QTimer::singleShot(10, this, SLOT(finish())); -} - -void Requestor::onSslErrors(QList<QSslError> errors) { - int i = 1; - for (auto error : errors) { - qCritical() << "LOGIN SSL Error #" << i << " : " << error.errorString(); - auto cert = error.certificate(); - qCritical() << "Certificate in question:\n" << cert.toText(); - i++; - } -} - -void Requestor::onUploadProgress(qint64 uploaded, qint64 total) { - if (status_ == Idle) { - qWarning() << "O2Requestor::onUploadProgress: No pending request"; - return; - } - if (reply_ != qobject_cast<QNetworkReply *>(sender())) { - return; - } - // Restart timeout because request in progress - Reply *o2Reply = timedReplies_.find(reply_); - if(o2Reply) - o2Reply->start(); - emit uploadProgress(id_, uploaded, total); -} - -int Requestor::setup(const QNetworkRequest &req, QNetworkAccessManager::Operation operation, const QByteArray &verb) { - static int currentId; - - if (status_ != Idle) { - qWarning() << "O2Requestor::setup: Another request pending"; - return -1; - } - - request_ = req; - operation_ = operation; - id_ = currentId++; - url_ = req.url(); - - QUrl url = url_; - request_.setUrl(url); - - if (!verb.isEmpty()) { - request_.setRawHeader(HTTP_HTTP_HEADER, verb); - } - - status_ = Requesting; - error_ = QNetworkReply::NoError; - return id_; -} - -void Requestor::finish() { - QByteArray data; - if (status_ == Idle) { - qWarning() << "O2Requestor::finish: No pending request"; - return; - } - data = reply_->readAll(); - status_ = Idle; - timedReplies_.remove(reply_); - reply_->disconnect(this); - reply_->deleteLater(); - QList<QNetworkReply::RawHeaderPair> headers = reply_->rawHeaderPairs(); - emit finished(id_, error_, data, headers); -} - -void Requestor::retry() { - if (status_ != Requesting) { - qWarning() << "O2Requestor::retry: No pending request"; - return; - } - timedReplies_.remove(reply_); - reply_->disconnect(this); - reply_->deleteLater(); - QUrl url = url_; - request_.setUrl(url); - - status_ = ReRequesting; - switch (operation_) { - case QNetworkAccessManager::GetOperation: - reply_ = manager_->get(request_); - break; - case QNetworkAccessManager::PostOperation: - reply_ = manager_->post(request_, data_); - break; - default: - assert(!"Unspecified operation for request"); - reply_ = manager_->get(request_); - break; - } - timedReplies_.add(reply_); - connect(reply_, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onRequestError(QNetworkReply::NetworkError)), Qt::QueuedConnection); - connect(reply_, SIGNAL(finished()), this, SLOT(onRequestFinished()), Qt::QueuedConnection); - connect(reply_, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(onUploadProgress(qint64,qint64))); -} - -} |