Software /
code /
prosody-modules
File
mod_discodot/mod_discodot.lua @ 5389:d872a1cd8c1d
mod_http_oauth2: Specify that 'contacts' items are emails in client registration
Not enforced, but good for documentation.
> Array of strings representing ways to contact people responsible for
> this client, typically email addresses.
"typically" isn't a great word in a specification, so one could persume
this may be e.g. URLs like https://example.com/contact-us or so as well.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 30 Apr 2023 15:20:05 +0200 |
parent | 4577:253df0798996 |
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