Source

Target

Commits (1)
Showing with 34 additions and 0 deletions
......@@ -40,6 +40,7 @@
#include <QtNetwork/qnetworkreply.h>
#include <QtNetwork/qnetworkrequest.h>
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtNetwork/qhttpmultipart.h>
QT_BEGIN_NAMESPACE
......@@ -273,11 +274,25 @@ QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap &paramet
{
Q_D(QAbstractOAuth2);
const auto data = d->convertParameters(parameters);
return post(url, data);
}
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QByteArray &data)
{
Q_D(QAbstractOAuth2);
QNetworkReply *reply = d->networkAccessManager()->post(d->createRequest(url), data);
connect(reply, &QNetworkReply::finished, [this, reply]() { emit finished(reply); });
return reply;
}
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, QHttpMultiPart *multiPart)
{
Q_D(QAbstractOAuth2);
QNetworkReply *reply = d->networkAccessManager()->post(d->createRequest(url), multiPart);
connect(reply, &QNetworkReply::finished, [this, reply]() { emit finished(reply); });
return reply;
}
/*!
Sends an authenticated PUT request and returns a new
QNetworkReply. The \a url and \a parameters are used to create
......@@ -290,11 +305,25 @@ QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QVariantMap &paramete
{
Q_D(QAbstractOAuth2);
const auto data = d->convertParameters(parameters);
return put(url, data);
}
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QByteArray &data)
{
Q_D(QAbstractOAuth2);
QNetworkReply *reply = d->networkAccessManager()->put(d->createRequest(url), data);
connect(reply, &QNetworkReply::finished, std::bind(&QAbstractOAuth::finished, this, reply));
return reply;
}
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, QHttpMultiPart *multiPart)
{
Q_D(QAbstractOAuth2);
QNetworkReply *reply = d->networkAccessManager()->put(d->createRequest(url), multiPart);
connect(reply, &QNetworkReply::finished, std::bind(&QAbstractOAuth::finished, this, reply));
return reply;
}
/*!
Sends an authenticated DELETE request and returns a new
QNetworkReply. The \a url and \a parameters are used to create
......
......@@ -39,6 +39,7 @@
QT_BEGIN_NAMESPACE
class QHttpMultiPart;
class QAbstractOAuth2Private;
class Q_OAUTH_EXPORT QAbstractOAuth2 : public QAbstractOAuth
{
......@@ -65,8 +66,12 @@ public:
const QVariantMap &parameters = QVariantMap()) override;
Q_INVOKABLE QNetworkReply *post(const QUrl &url,
const QVariantMap &parameters = QVariantMap()) override;
Q_INVOKABLE virtual QNetworkReply *post(const QUrl &url, const QByteArray &data);
Q_INVOKABLE virtual QNetworkReply *post(const QUrl &url, QHttpMultiPart *multiPart);
Q_INVOKABLE QNetworkReply *put(const QUrl &url,
const QVariantMap &parameters = QVariantMap()) override;
Q_INVOKABLE virtual QNetworkReply *put(const QUrl &url, const QByteArray &data);
Q_INVOKABLE virtual QNetworkReply *put(const QUrl &url, QHttpMultiPart *multiPart);
Q_INVOKABLE QNetworkReply *deleteResource(const QUrl &url,
const QVariantMap &parameters = QVariantMap()) override;
......