summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/oauth/qabstractoauth2.cpp29
-rw-r--r--src/oauth/qabstractoauth2.h5
2 files changed, 34 insertions, 0 deletions
diff --git a/src/oauth/qabstractoauth2.cpp b/src/oauth/qabstractoauth2.cpp
index 49c8f03..c01281b 100644
--- a/src/oauth/qabstractoauth2.cpp
+++ b/src/oauth/qabstractoauth2.cpp
@@ -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
diff --git a/src/oauth/qabstractoauth2.h b/src/oauth/qabstractoauth2.h
index 0f600b2..9262170 100644
--- a/src/oauth/qabstractoauth2.h
+++ b/src/oauth/qabstractoauth2.h
@@ -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;