#pragma once #include #include #include #include #include #include #include #include #include #include #include #include class CommaApi : public QObject { Q_OBJECT public: static QByteArray rsa_sign(QByteArray data); static QString create_jwt(QVector> payloads = {}, int expiry=3600); private: QNetworkAccessManager* networkAccessManager; }; /** * Makes a request to the request endpoint. */ class HttpRequest : public QObject { Q_OBJECT public: explicit HttpRequest(QObject* parent, QString requestURL, const QString &cache_key = ""); QNetworkReply *reply; void sendRequest(QString requestURL); private: QNetworkAccessManager *networkAccessManager; QTimer *networkTimer; QString cache_key; private slots: void requestTimeout(); void requestFinished(); signals: void receivedResponse(QString response); void failedResponse(QString errorString); void timeoutResponse(QString errorString); };