[Pkg-owncloud-commits] [owncloud-client] 81/484: Now add parameters in a less crappy way
Sandro Knauß
hefee-guest at moszumanska.debian.org
Wed Dec 16 00:37:17 UTC 2015
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit a34b663828fd1697664eeefde8831e526ba63f7e
Author: Roeland Jago Douma <rullzer at owncloud.com>
Date: Thu Oct 15 21:58:16 2015 +0200
Now add parameters in a less crappy way
---
src/gui/ocsjob.cpp | 57 ++++++++++++++++++++++++++-----------------------
src/gui/ocsjob.h | 18 ++++++----------
src/gui/ocssharejob.cpp | 36 ++++++++++---------------------
3 files changed, 47 insertions(+), 64 deletions(-)
diff --git a/src/gui/ocsjob.cpp b/src/gui/ocsjob.cpp
index f9e86b6..961e84f 100644
--- a/src/gui/ocsjob.cpp
+++ b/src/gui/ocsjob.cpp
@@ -32,19 +32,9 @@ void OcsJob::setVerb(const QByteArray &verb)
_verb = verb;
}
-void OcsJob::setUrl(const QUrl &url)
+void OcsJob::addParam(const QString &name, const QString &value)
{
- _url = url;
-}
-
-void OcsJob::setGetParams(const QList<QPair<QString, QString> >& getParams)
-{
- _url.setQueryItems(getParams);
-}
-
-void OcsJob::setPostParams(const QList<QPair<QString, QString> >& postParams)
-{
- _postParams = postParams;
+ _params.append(qMakePair(name, value));
}
void OcsJob::addPassStatusCode(int code)
@@ -58,24 +48,31 @@ void OcsJob::start()
req.setRawHeader("Ocs-APIREQUEST", "true");
req.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
- // Url encode the _postParams and put them in a buffer.
- QByteArray postData;
- Q_FOREACH(auto tmp2, _postParams) {
- if (! postData.isEmpty()) {
- postData.append("&");
+ QUrl url = Account::concatUrlPath(account()->url(), path());
+ QBuffer *buffer = new QBuffer;
+
+ if (_verb == "GET") {
+ url.setQueryItems(_params);
+ } else if (_verb == "POST" || _verb == "PUT") {
+ // Url encode the _postParams and put them in a buffer.
+ QByteArray postData;
+ Q_FOREACH(auto tmp, _params) {
+ if (!postData.isEmpty()) {
+ postData.append("&");
+ }
+ postData.append(QUrl::toPercentEncoding(tmp.first));
+ postData.append("=");
+ postData.append(QUrl::toPercentEncoding(tmp.second));
}
- postData.append(QUrl::toPercentEncoding(tmp2.first));
- postData.append("=");
- postData.append(QUrl::toPercentEncoding(tmp2.second));
+ buffer->setData(postData);
}
- QBuffer *buffer = new QBuffer;
- buffer->setData(postData);
- auto queryItems = _url.queryItems();
+ //We want json data
+ auto queryItems = url.queryItems();
queryItems.append(qMakePair(QString::fromLatin1("format"), QString::fromLatin1("json")));
- _url.setQueryItems(queryItems);
+ url.setQueryItems(queryItems);
- setReply(davRequest(_verb, _url, req, buffer));
+ setReply(davRequest(_verb, url, req, buffer));
setupConnections(reply());
buffer->setParent(reply());
AbstractNetworkJob::start();
@@ -88,14 +85,20 @@ bool OcsJob::finished()
bool success;
QVariantMap json = QtJson::parse(replyData, success).toMap();
if (!success) {
- qDebug() << "Could not parse reply to" << _verb << _url << _postParams
+ qDebug() << "Could not parse reply to"
+ << _verb
+ << Account::concatUrlPath(account()->url(), path())
+ << _params
<< ":" << replyData;
}
QString message;
const int statusCode = getJsonReturnCode(json, message);
if (!_passStatusCodes.contains(statusCode)) {
- qDebug() << "Reply to" << _verb << _url << _postParams
+ qDebug() << "Reply to"
+ << _verb
+ << Account::concatUrlPath(account()->url(), path())
+ << _params
<< "has unexpected status code:" << statusCode << replyData;
}
diff --git a/src/gui/ocsjob.h b/src/gui/ocsjob.h
index dc6c95d..36f2eb0 100644
--- a/src/gui/ocsjob.h
+++ b/src/gui/ocsjob.h
@@ -48,18 +48,13 @@ protected:
void setVerb(const QByteArray& verb);
/**
- * The url of the OCS endpoint
+ * Add a new parameter to the request.
+ * Depending on the verb this is GET or POST parameter
*
- * @param url
+ * @param name The name of the parameter
+ * @param value The value of the parameter
*/
- void setUrl(const QUrl& url);
-
- /**
- * Set the get parameters to the url
- *
- * @param getParams list of pairs to add to the url
- */
- void setGetParams(const QList<QPair<QString, QString> >& getParams);
+ void addParam(const QString& name, const QString &value);
/**
* Set the post parameters
@@ -110,8 +105,7 @@ private slots:
private:
QByteArray _verb;
- QUrl _url;
- QList<QPair<QString, QString> > _postParams;
+ QList<QPair<QString, QString> > _params;
QVector<int> _passStatusCodes;
};
diff --git a/src/gui/ocssharejob.cpp b/src/gui/ocssharejob.cpp
index b809f07..feb5eaf 100644
--- a/src/gui/ocssharejob.cpp
+++ b/src/gui/ocssharejob.cpp
@@ -23,27 +23,23 @@ namespace OCC {
OcsShareJob::OcsShareJob(AccountPtr account, QObject* parent)
: OcsJob(account, parent)
{
- setUrl(Account::concatUrlPath(account->url(), QString("ocs/v1.php/apps/files_sharing/api/v1/shares")));
+ setPath("ocs/v1.php/apps/files_sharing/api/v1/shares");
}
OcsShareJob::OcsShareJob(int shareId, AccountPtr account, QObject* parent)
: OcsJob(account, parent)
{
- setUrl(Account::concatUrlPath(account->url(), QString("ocs/v1.php/apps/files_sharing/api/v1/shares/%1").arg(shareId)));
+ setPath(QString("ocs/v1.php/apps/files_sharing/api/v1/shares/%1").arg(shareId));
}
void OcsShareJob::getShares(const QString &path)
{
setVerb("GET");
-
- QList<QPair<QString, QString> > getParams;
- getParams.append(qMakePair(QString::fromLatin1("path"), path));
- setGetParams(getParams);
+ addParam(QString::fromLatin1("path"), path);
addPassStatusCode(404);
start();
-
}
void OcsShareJob::deleteShare()
@@ -57,15 +53,12 @@ void OcsShareJob::setExpireDate(const QDate &date)
{
setVerb("PUT");
- QList<QPair<QString, QString> > postParams;
-
if (date.isValid()) {
- postParams.append(qMakePair(QString::fromLatin1("expireDate"), date.toString("yyyy-MM-dd")));
+ addParam(QString::fromLatin1("expireDate"), date.toString("yyyy-MM-dd"));
} else {
- postParams.append(qMakePair(QString::fromLatin1("expireDate"), QString()));
+ addParam(QString::fromLatin1("expireDate"), QString());
}
- setPostParams(postParams);
start();
}
@@ -73,10 +66,8 @@ void OcsShareJob::setPassword(const QString &password)
{
setVerb("PUT");
- QList<QPair<QString, QString> > postParams;
- postParams.append(qMakePair(QString::fromLatin1("password"), password));
+ addParam(QString::fromLatin1("password"), password);
- setPostParams(postParams);
start();
}
@@ -84,11 +75,9 @@ void OcsShareJob::setPublicUpload(bool publicUpload)
{
setVerb("PUT");
- QList<QPair<QString, QString> > postParams;
const QString value = QString::fromLatin1(publicUpload ? "true" : "false");
- postParams.append(qMakePair(QString::fromLatin1("publicUpload"), value));
+ addParam(QString::fromLatin1("publicUpload"), value);
- setPostParams(postParams);
start();
}
@@ -96,20 +85,17 @@ void OcsShareJob::createShare(const QString &path, SHARETYPE shareType, const QS
{
setVerb("POST");
- QList<QPair<QString, QString> > postParams;
- postParams.append(qMakePair(QString::fromLatin1("path"), path));
- postParams.append(qMakePair(QString::fromLatin1("shareType"), QString::number(static_cast<int>(shareType))));
+ addParam(QString::fromLatin1("path"), path);
+ addParam(QString::fromLatin1("shareType"), QString::number(static_cast<int>(shareType)));
if (!password.isEmpty()) {
- postParams.append(qMakePair(QString::fromLatin1("shareType"), password));
+ addParam(QString::fromLatin1("shareType"), password);
}
if (date.isValid()) {
- postParams.append(qMakePair(QString::fromLatin1("expireDate"), date.toString("yyyy-MM-dd")));
+ addParam(QString::fromLatin1("expireDate"), date.toString("yyyy-MM-dd"));
}
- setPostParams(postParams);
-
addPassStatusCode(403);
start();
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list