File

mod_discodot/mod_discodot.lua @ 5223:8b2a36847912

mod_http_oauth2: Support HTTP Basic auth on token endpoint This is described in RFC 6749 section 2.3.1 and draft-ietf-oauth-v2-1-07 2.3.1 as the recommended way to transmit the client's credentials. The older spec even calls it the "client password", but the new spec clarifies that this is just another term for the client secret.
author Matthew Wild <mwild1@gmail.com>
date Tue, 07 Mar 2023 15:27:50 +0000
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