Mercurial > prosody-hg
comparison plugins/mod_pep.lua @ 8330:8d5c2eef1654
mod_pep: Advertise pubsub features that I believe to be implented
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 17 Oct 2017 05:22:43 +0200 |
| parents | 83bab3c84671 |
| children | 41c959c5c84b |
comparison
equal
deleted
inserted
replaced
| 8329:83bab3c84671 | 8330:8d5c2eef1654 |
|---|---|
| 15 local next = next; | 15 local next = next; |
| 16 local type = type; | 16 local type = type; |
| 17 local calculate_hash = require "util.caps".calculate_hash; | 17 local calculate_hash = require "util.caps".calculate_hash; |
| 18 local core_post_stanza = prosody.core_post_stanza; | 18 local core_post_stanza = prosody.core_post_stanza; |
| 19 local bare_sessions = prosody.bare_sessions; | 19 local bare_sessions = prosody.bare_sessions; |
| 20 | |
| 21 local xmlns_pubsub = "http://jabber.org/protocol/pubsub"; | |
| 20 | 22 |
| 21 -- Used as canonical 'empty table' | 23 -- Used as canonical 'empty table' |
| 22 local NULL = {}; | 24 local NULL = {}; |
| 23 -- data[user_bare_jid][node] = item_stanza | 25 -- data[user_bare_jid][node] = item_stanza |
| 24 local data = {}; | 26 local data = {}; |
| 279 end); | 281 end); |
| 280 | 282 |
| 281 module:hook("account-disco-info", function(event) | 283 module:hook("account-disco-info", function(event) |
| 282 local reply = event.reply; | 284 local reply = event.reply; |
| 283 reply:tag('identity', {category='pubsub', type='pep'}):up(); | 285 reply:tag('identity', {category='pubsub', type='pep'}):up(); |
| 284 reply:tag('feature', {var='http://jabber.org/protocol/pubsub#publish'}):up(); | 286 reply:tag('feature', {var=xmlns_pubsub}):up(); |
| 287 local features = { | |
| 288 "access-presence", | |
| 289 "auto-create", | |
| 290 "auto-subscribe", | |
| 291 "filtered-notifications", | |
| 292 "item-ids", | |
| 293 "last-published", | |
| 294 "presence-notifications", | |
| 295 "presence-subscribe", | |
| 296 "publish", | |
| 297 "retract-items", | |
| 298 "retrieve-items", | |
| 299 }; | |
| 300 for _, feature in ipairs(features) do | |
| 301 reply:tag('feature', {var=xmlns_pubsub.."#"..feature}):up(); | |
| 302 end | |
| 285 end); | 303 end); |
| 286 | 304 |
| 287 module:hook("account-disco-items", function(event) | 305 module:hook("account-disco-items", function(event) |
| 288 local reply = event.reply; | 306 local reply = event.reply; |
| 289 local bare = reply.attr.to; | 307 local bare = reply.attr.to; |
