Mercurial > prosody-modules
comparison mod_pubsub_serverinfo/mod_pubsub_serverinfo.lua @ 5843:79ae71f52c81
mod_pubsub_serverinfo: Update to use mod_server_info (fixes #1841)
...but only for Prosody trunk users, because 0.12 mod_server_contact_info does
not use the new API in mod_server_info.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 23 Feb 2024 22:50:57 +0000 |
parents | 7905766d01f6 |
children | 49b0873932ca |
comparison
equal
deleted
inserted
replaced
5842:ed82916e5796 | 5843:79ae71f52c81 |
---|---|
1 local http = require "net.http"; | 1 local http = require "net.http"; |
2 local json = require "util.json"; | 2 local json = require "util.json"; |
3 local st = require "util.stanza"; | 3 local st = require "util.stanza"; |
4 local new_id = require"util.id".medium; | 4 local new_id = require"util.id".medium; |
5 local dataform = require "util.dataforms".new; | |
6 | 5 |
7 local local_domain = module:get_host(); | 6 local local_domain = module:get_host(); |
8 local service = module:get_option(module.name .. "_service") or "pubsub." .. local_domain; | 7 local service = module:get_option(module.name .. "_service") or "pubsub." .. local_domain; |
9 local node = module:get_option(module.name .. "_node") or "serverinfo"; | 8 local node = module:get_option(module.name .. "_node") or "serverinfo"; |
10 local actor = module.host .. "/modules/" .. module.name; | 9 local actor = module.host .. "/modules/" .. module.name; |
27 end | 26 end |
28 ) | 27 ) |
29 | 28 |
30 module:add_feature("urn:xmpp:serverinfo:0"); | 29 module:add_feature("urn:xmpp:serverinfo:0"); |
31 | 30 |
32 module:add_extension(dataform { | 31 module:add_item("server-info-fields", { |
33 { name = "FORM_TYPE", type = "hidden", value = "http://jabber.org/network/serverinfo" }, | 32 { name = "serverinfo-pubsub-node", type = "text-single", value = ("xmpp:%s?;node=%s"):format(service, node) }; |
34 { name = "serverinfo-pubsub-node", type = "text-single" }, | 33 }); |
35 }:form({ ["serverinfo-pubsub-node"] = ("xmpp:%s?;node=%s"):format(service, node) }, "result")); | |
36 | 34 |
37 if cache_ttl < publication_interval then | 35 if cache_ttl < publication_interval then |
38 module:log("warn", "It is recommended to have a cache interval higher than the publication interval"); | 36 module:log("warn", "It is recommended to have a cache interval higher than the publication interval"); |
39 end | 37 end |
40 | 38 |