mod_pubsub: Support requests for multiple items (fixes #1305)

This commit is contained in:
Kim Alvefur 2019-01-28 01:41:42 +01:00
parent da56744645
commit 6d84bd44ba

View file

@ -295,14 +295,20 @@ end
function handlers.get_items(origin, stanza, items, service)
local node = items.attr.node;
local item = items:get_child("item");
local item_id = item and item.attr.id;
local requested_items = {};
for item in items:childtags("item") do
table.insert(requested_items, item.attr.id);
end
if requested_items[1] == nil then
requested_items = nil;
end
if not node then
origin.send(pubsub_error_reply(stanza, "nodeid-required"));
return true;
end
local ok, results = service:get_items(node, stanza.attr.from, item_id);
local ok, results = service:get_items(node, stanza.attr.from, requested_items);
if not ok then
origin.send(pubsub_error_reply(stanza, results));
return true;