You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wowlet/src/utils/networking.h

45 lines
1.1 KiB

// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020, The Monero Project.
#ifndef FEATHER_NETWORKING_H
#define FEATHER_NETWORKING_H
#include <QtCore>
#include <QRegExp>
#include <QApplication>
#include <QtNetwork>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include "utils/utils.h"
static QStringList randomHTTPAgents;
class CCSEntry;
class UtilsNetworking : public QObject
{
Q_OBJECT
public:
explicit UtilsNetworking(QNetworkAccessManager *networkAccessManager, QObject *parent = nullptr);
void get(const QString &url);
QNetworkReply* getJson(const QString &url);
QNetworkReply* postJson(const QString &url, const QJsonObject &data);
void setUserAgent(const QString &userAgent);
static QString validateJSON(QNetworkReply *reply);
private slots:
void webResponse(QNetworkReply *reply);
signals:
void webErrorReceived(QString msg);
void webReceived(QByteArray data);
private:
QString m_userAgent = "Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0";
QNetworkAccessManager *m_networkAccessManager;
};
#endif //FEATHER_NETWORKING_H