mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-17 20:44:38 +03:00
38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <QNetworkAccessManager>
|
|
#include <QNetworkReply>
|
|
#include <QNetworkRequest>
|
|
#include <QObject>
|
|
#include <functional>
|
|
|
|
namespace Qv2ray::common::network {
|
|
struct HTTPResponse {
|
|
QString error;
|
|
QByteArray data;
|
|
QList<QPair<QByteArray, QByteArray>> header;
|
|
};
|
|
|
|
class NetworkRequestHelper : QObject {
|
|
Q_OBJECT
|
|
|
|
explicit NetworkRequestHelper(QObject *parent) : QObject(parent) {};
|
|
|
|
~NetworkRequestHelper() {};
|
|
|
|
public:
|
|
static void AsyncHttpGet(const QString &url, std::function<void(const QByteArray &)> funcPtr);
|
|
|
|
static HTTPResponse HttpGet(const QUrl &url);
|
|
|
|
static QString GetHeader(const QList<QPair<QByteArray, QByteArray>>& header, const QString& name);
|
|
|
|
private:
|
|
static void setAccessManagerAttributes(QNetworkRequest &request, QNetworkAccessManager &accessManager);
|
|
|
|
static void setHeader(QNetworkRequest &request, const QByteArray &key, const QByteArray &value);
|
|
};
|
|
} // namespace Qv2ray::common::network
|
|
|
|
using namespace Qv2ray::common::network;
|