mod_pubsub: Add support for requesting default node configuration
authorKim Alvefur <zash@zash.se>
Sun, 28 Sep 2014 01:55:32 +0200
changeset 6444 bcb1ea9047d3
parent 6443 9619809bf50b
child 6445 0f4025abbe8f
child 6448 f1ad3923368c
mod_pubsub: Add support for requesting default node configuration
plugins/mod_pubsub/mod_pubsub.lua
plugins/mod_pubsub/pubsub.lib.lua
--- a/plugins/mod_pubsub/mod_pubsub.lua	Sun Sep 28 01:50:17 2014 +0200
+++ b/plugins/mod_pubsub/mod_pubsub.lua	Sun Sep 28 01:55:32 2014 +0200
@@ -65,6 +65,7 @@
 	add_subscription = { "subscribe" };
 	get_subscriptions = { "retrieve-subscriptions" };
 	set_configure = { "config-node" };
+	get_default = { "retrieve-default" };
 };
 
 local function add_disco_features_from_service(service)
--- a/plugins/mod_pubsub/pubsub.lib.lua	Sun Sep 28 01:50:17 2014 +0200
+++ b/plugins/mod_pubsub/pubsub.lib.lua	Sun Sep 28 01:55:32 2014 +0200
@@ -271,4 +271,12 @@
 	return origin.send(st.reply(stanza));
 end
 
+function handlers.get_default(origin, stanza, default, service)
+	local reply = st.reply(stanza)
+		:tag("pubsub", { xmlns = xmlns_pubsub_owner })
+			:tag("configure", { node = node })
+				:add_child(form:form(service.node_default_config));
+	return origin.send(reply);
+end
+
 return _M;