diff options
author | Kim Alvefur <zash@zash.se> | 2022-08-17 19:04:30 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2022-08-17 19:04:30 +0200 |
commit | 8959868a28fb74e55ce41a9cb93d7e3524c7dc2b (patch) | |
tree | e167e55ba83a8eb91210348f33a042d84ef34daf /plugins/mod_pubsub | |
parent | 2294d8b8e08fbf75985bd976bc32c79293a478ef (diff) | |
download | prosody-8959868a28fb74e55ce41a9cb93d7e3524c7dc2b.tar.gz prosody-8959868a28fb74e55ce41a9cb93d7e3524c7dc2b.zip |
util.stanza: Add method for extracting a single attribute value
Sometimes you only care about a single attribute, but the child tag
itself may be optional, leading to needing `tag and tag.attr.foo` or
`stanza:find("tag@foo")`.
The `:find()` method is fairly complex, so avoiding it for this kind of
simpler use case is a win.
Diffstat (limited to 'plugins/mod_pubsub')
-rw-r--r-- | plugins/mod_pubsub/pubsub.lib.lua | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/plugins/mod_pubsub/pubsub.lib.lua b/plugins/mod_pubsub/pubsub.lib.lua index 661bb65b..cd3efb09 100644 --- a/plugins/mod_pubsub/pubsub.lib.lua +++ b/plugins/mod_pubsub/pubsub.lib.lua @@ -678,8 +678,7 @@ end function handlers.set_retract(origin, stanza, retract, service) local node, notify = retract.attr.node, retract.attr.notify; notify = (notify == "1") or (notify == "true"); - local item = retract:get_child("item"); - local id = item and item.attr.id + local id = retract:get_child_attr("item", nil, "id"); if not (node and id) then origin.send(pubsub_error_reply(stanza, node and "item-not-found" or "nodeid-required")); return true; |