aboutsummaryrefslogtreecommitdiff
path: root/jobs
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2017-10-19 19:23:10 +0900
committerKitsune Ral <Kitsune-Ral@users.sf.net>2017-12-07 12:30:37 +0900
commite88627976488b0b6eea6da3389eefb860980d661 (patch)
treec5972d761fc43b6a29b86a495722d309ccf80b65 /jobs
parent70d9ca7b870e35109dfdbe9ab3c63ba094a75379 (diff)
downloadlibquotient-e88627976488b0b6eea6da3389eefb860980d661.tar.gz
libquotient-e88627976488b0b6eea6da3389eefb860980d661.zip
Generated jobs: Don't dump empty strings to body parameters
This is important for (soon to be added) LoginJob, since the server is sensitive to getting an (even empty) entity for "medium" as opposed to omitting it entirely. This cannot be addressed on the spec level; on the other hand, removing empty parameters from the payload reduces useless bytes getting on the wire.
Diffstat (limited to 'jobs')
-rw-r--r--jobs/generated/banning.cpp25
-rw-r--r--jobs/generated/inviting.cpp11
-rw-r--r--jobs/generated/kicking.cpp14
-rw-r--r--jobs/generated/leaving.cpp6
-rw-r--r--jobs/generated/logout.cpp3
-rw-r--r--jobs/generated/profile.cpp33
6 files changed, 48 insertions, 44 deletions
diff --git a/jobs/generated/banning.cpp b/jobs/generated/banning.cpp
index c47d3419..ebb4c96c 100644
--- a/jobs/generated/banning.cpp
+++ b/jobs/generated/banning.cpp
@@ -15,21 +15,24 @@ static const auto basePath = QStringLiteral("/_matrix/client/r0");
BanJob::BanJob(QString roomId, QString user_id, QString reason)
: BaseJob(HttpVerb::Post, "BanJob",
basePath % "/rooms/" % roomId % "/ban",
- Query { },
- Data {
- { "user_id", toJson(user_id) },
- { "reason", toJson(reason) }
- }
+ Query { }
)
-{ }
+{
+ Data _data;
+ _data.insert("user_id", toJson(user_id));
+ if (!reason.isEmpty())
+ _data.insert("reason", toJson(reason));
+ setRequestData(_data);
+}
UnbanJob::UnbanJob(QString roomId, QString user_id)
: BaseJob(HttpVerb::Post, "UnbanJob",
basePath % "/rooms/" % roomId % "/unban",
- Query { },
- Data {
- { "user_id", toJson(user_id) }
- }
+ Query { }
)
-{ }
+{
+ Data _data;
+ _data.insert("user_id", toJson(user_id));
+ setRequestData(_data);
+}
diff --git a/jobs/generated/inviting.cpp b/jobs/generated/inviting.cpp
index 11384c5e..73c73076 100644
--- a/jobs/generated/inviting.cpp
+++ b/jobs/generated/inviting.cpp
@@ -15,10 +15,11 @@ static const auto basePath = QStringLiteral("/_matrix/client/r0");
InviteUserJob::InviteUserJob(QString roomId, QString user_id)
: BaseJob(HttpVerb::Post, "InviteUserJob",
basePath % "/rooms/" % roomId % "/invite",
- Query { },
- Data {
- { "user_id", toJson(user_id) }
- }
+ Query { }
)
-{ }
+{
+ Data _data;
+ _data.insert("user_id", toJson(user_id));
+ setRequestData(_data);
+}
diff --git a/jobs/generated/kicking.cpp b/jobs/generated/kicking.cpp
index e75b900a..28d51d05 100644
--- a/jobs/generated/kicking.cpp
+++ b/jobs/generated/kicking.cpp
@@ -15,11 +15,13 @@ static const auto basePath = QStringLiteral("/_matrix/client/r0");
KickJob::KickJob(QString roomId, QString user_id, QString reason)
: BaseJob(HttpVerb::Post, "KickJob",
basePath % "/rooms/" % roomId % "/kick",
- Query { },
- Data {
- { "user_id", toJson(user_id) },
- { "reason", toJson(reason) }
- }
+ Query { }
)
-{ }
+{
+ Data _data;
+ _data.insert("user_id", toJson(user_id));
+ if (!reason.isEmpty())
+ _data.insert("reason", toJson(reason));
+ setRequestData(_data);
+}
diff --git a/jobs/generated/leaving.cpp b/jobs/generated/leaving.cpp
index e443612e..392f1ca8 100644
--- a/jobs/generated/leaving.cpp
+++ b/jobs/generated/leaving.cpp
@@ -15,16 +15,14 @@ static const auto basePath = QStringLiteral("/_matrix/client/r0");
LeaveRoomJob::LeaveRoomJob(QString roomId)
: BaseJob(HttpVerb::Post, "LeaveRoomJob",
basePath % "/rooms/" % roomId % "/leave",
- Query { },
- Data { }
+ Query { }
)
{ }
ForgetRoomJob::ForgetRoomJob(QString roomId)
: BaseJob(HttpVerb::Post, "ForgetRoomJob",
basePath % "/rooms/" % roomId % "/forget",
- Query { },
- Data { }
+ Query { }
)
{ }
diff --git a/jobs/generated/logout.cpp b/jobs/generated/logout.cpp
index a5848e7c..c2480ff9 100644
--- a/jobs/generated/logout.cpp
+++ b/jobs/generated/logout.cpp
@@ -15,8 +15,7 @@ static const auto basePath = QStringLiteral("/_matrix/client/r0");
LogoutJob::LogoutJob()
: BaseJob(HttpVerb::Post, "LogoutJob",
basePath % "/logout",
- Query { },
- Data { }
+ Query { }
)
{ }
diff --git a/jobs/generated/profile.cpp b/jobs/generated/profile.cpp
index 201bca79..f24db15a 100644
--- a/jobs/generated/profile.cpp
+++ b/jobs/generated/profile.cpp
@@ -15,12 +15,14 @@ static const auto basePath = QStringLiteral("/_matrix/client/r0");
SetDisplayNameJob::SetDisplayNameJob(QString userId, QString displayname)
: BaseJob(HttpVerb::Put, "SetDisplayNameJob",
basePath % "/profile/" % userId % "/displayname",
- Query { },
- Data {
- { "displayname", toJson(displayname) }
- }
+ Query { }
)
-{ }
+{
+ Data _data;
+ if (!displayname.isEmpty())
+ _data.insert("displayname", toJson(displayname));
+ setRequestData(_data);
+}
class GetDisplayNameJob::Private
{
@@ -32,8 +34,7 @@ class GetDisplayNameJob::Private
GetDisplayNameJob::GetDisplayNameJob(QString userId)
: BaseJob(HttpVerb::Get, "GetDisplayNameJob",
basePath % "/profile/" % userId % "/displayname",
- Query { },
- Data { }
+ Query { }, Data { }, false
), d(new Private)
{ }
@@ -59,12 +60,14 @@ BaseJob::Status GetDisplayNameJob::parseJson(const QJsonDocument& data)
SetAvatarUrlJob::SetAvatarUrlJob(QString userId, QString avatar_url)
: BaseJob(HttpVerb::Put, "SetAvatarUrlJob",
basePath % "/profile/" % userId % "/avatar_url",
- Query { },
- Data {
- { "avatar_url", toJson(avatar_url) }
- }
+ Query { }
)
-{ }
+{
+ Data _data;
+ if (!avatar_url.isEmpty())
+ _data.insert("avatar_url", toJson(avatar_url));
+ setRequestData(_data);
+}
class GetAvatarUrlJob::Private
{
@@ -76,8 +79,7 @@ class GetAvatarUrlJob::Private
GetAvatarUrlJob::GetAvatarUrlJob(QString userId)
: BaseJob(HttpVerb::Get, "GetAvatarUrlJob",
basePath % "/profile/" % userId % "/avatar_url",
- Query { },
- Data { }
+ Query { }, Data { }, false
), d(new Private)
{ }
@@ -111,8 +113,7 @@ class GetUserProfileJob::Private
GetUserProfileJob::GetUserProfileJob(QString userId)
: BaseJob(HttpVerb::Get, "GetUserProfileJob",
basePath % "/profile/" % userId,
- Query { },
- Data { }
+ Query { }, Data { }, false
), d(new Private)
{ }