Mercurial > prosody-modules
view mod_discodot/mod_discodot.lua @ 6556:7477e97a9045
mod_firewall: Apply pre-reload state before re-reading config
This change makes load/reload a bit more robust. module.load() runs before
module.restore() and it reads from the config and updates the state (if
needed).
However, after this, module.restore() could run and apply the old state again.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sun, 24 May 2026 20:03:20 +0100 |
| parents | 253df0798996 |
| children |
line wrap: on
line source
local cm = require("core.configmanager"); local function format_host(host, conf) if host == "*" then return "Global" end local component_module = conf["component_module"]; if type(component_module) == "string" then if component_module == "component" then return string.format("Component %q", host) else return string.format("Component %q %q", host, component_module) end else return string.format("VirtualHost %q", host) end end function module.command(arg) local config = cm.getconfig(); print("digraph \"prosody\" {") for host, conf in pairs(config) do print(string.format("%q [label=%q]", host, format_host(host, conf))); local parent = host:match("%.(.*)"); if parent and rawget(config, parent) then print(string.format("%q -> %q", parent, host)); end local disco_items = conf["disco_items"] if type(disco_items) == "table" then for _, pair in ipairs(disco_items) do print(string.format("%q -> %q", host, pair[1])); end end end print("}") return 0 end
