diff --git a/tools/cabana/utils/api.cc b/tools/cabana/utils/api.cc index 0dac0bb481..89379a8434 100644 --- a/tools/cabana/utils/api.cc +++ b/tools/cabana/utils/api.cc @@ -108,36 +108,31 @@ bool HttpRequest::timeout() const { return reply && reply->error() == QNetworkReply::OperationCanceledError; } -QNetworkRequest HttpRequest::prepareRequest(const QString &requestURL) { - QNetworkRequest request; +void HttpRequest::sendRequest(const QString &requestURL, const HttpRequest::Method method) { + if (active()) { + qDebug() << "HttpRequest is active"; + return; + } QString token; if (create_jwt) { - token = GetJwtToken(); + token = CommaApi::create_jwt(); } else { QString token_json = QString::fromStdString(util::read_file(util::getenv("HOME") + "/.comma/auth.json")); QJsonDocument json_d = QJsonDocument::fromJson(token_json.toUtf8()); token = json_d["access_token"].toString(); } + QNetworkRequest request; request.setUrl(QUrl(requestURL)); - request.setRawHeader("User-Agent", GetUserAgent().toUtf8()); + request.setRawHeader("User-Agent", getUserAgent().toUtf8()); if (!token.isEmpty()) { request.setRawHeader(QByteArray("Authorization"), ("JWT " + token).toUtf8()); } - return request; -} -void HttpRequest::sendRequest(const QString &requestURL, const Method method) { - if (active()) { - qDebug() << "HttpRequest is active"; - return; - } - - QNetworkRequest request = prepareRequest(requestURL); - if (method == Method::GET) { + if (method == HttpRequest::Method::GET) { reply = nam()->get(request); - } else if (method == Method::DELETE) { + } else if (method == HttpRequest::Method::DELETE) { reply = nam()->deleteResource(request); } diff --git a/tools/cabana/utils/api.h b/tools/cabana/utils/api.h index 80b85f7ca7..ad64d7e722 100644 --- a/tools/cabana/utils/api.h +++ b/tools/cabana/utils/api.h @@ -5,7 +5,6 @@ #include #include -#include "util.h" #include "common/util.h" namespace CommaApi { @@ -24,11 +23,10 @@ class HttpRequest : public QObject { Q_OBJECT public: - enum class Method {GET, DELETE, POST, PUT}; + enum class Method {GET, DELETE}; explicit HttpRequest(QObject* parent, bool create_jwt = true, int timeout = 20000); - virtual void sendRequest(const QString &requestURL, Method method); - void sendRequest(const QString &requestURL) { sendRequest(requestURL, Method::GET);} + void sendRequest(const QString &requestURL, const Method method = Method::GET); bool active() const; bool timeout() const; @@ -37,14 +35,13 @@ signals: protected: QNetworkReply *reply = nullptr; + +private: static QNetworkAccessManager *nam(); QTimer *networkTimer = nullptr; bool create_jwt; - virtual QNetworkRequest prepareRequest(const QString& requestURL); - [[nodiscard]] virtual QString GetJwtToken() const { return CommaApi::create_jwt(); } - [[nodiscard]] virtual QString GetUserAgent() const { return getUserAgent(); } -protected slots: +private slots: void requestTimeout(); void requestFinished(); };