File indexing completed on 2024-05-12 04:46:02

0001 #ifndef UTILS_NETWORKHELPER_HPP
0002 #define UTILS_NETWORKHELPER_HPP
0003 
0004 #include <QIODevice>
0005 #include <QMap>
0006 #include <QNetworkAccessManager>
0007 #include <QNetworkReply>
0008 #include <QObject>
0009 #include <QString>
0010 
0011 class NetworkHelper : public QObject {
0012   Q_OBJECT
0013 
0014  private:
0015   QString host;
0016   QString username;
0017   QString password;
0018   QNetworkAccessManager* networkManager;
0019 
0020   void setRequestAuthHeader(QNetworkRequest* request);
0021   void setRequestHeaders(QNetworkRequest* request,
0022                          QMap<QString, QString> headers);
0023 
0024  public:
0025   NetworkHelper(QString host, QString username, QString password);
0026 
0027   QNetworkReply* makeRequest(QString method, QString path,
0028                              QMap<QString, QString> headers);
0029   QNetworkReply* makePutRequest(QString path, QMap<QString, QString> headers,
0030                                 QIODevice* file);
0031   QNetworkReply* makeRequest(QString method, QMap<QString, QString> headers);
0032   QNetworkReply* makeRequest(QString method, QMap<QString, QString> headers,
0033                              QString body);
0034   QNetworkReply* makeRequest(QString method, QUrl path,
0035                              QMap<QString, QString> headers, QString body);
0036   QNetworkReply* makePutRequest(QMap<QString, QString> headers,
0037                                 QIODevice* file);
0038 };
0039 
0040 #endif