File

mod_stats39/mod_stats39.lua @ 5472:b80b6947b079

mod_http_oauth2: Always show early errors to user Before having validated the client_id, communicating an error back to the client via redirect would make this an open redirect, so we may just as well skip past that logic, and especially the warning log message.
author Kim Alvefur <zash@zash.se>
date Thu, 18 May 2023 13:43:17 +0200
parent 4595:bac3dae031ee
line wrap: on
line source

local statsman = require "core.statsmanager";
local st = require "util.stanza";
local s_format = string.format;

assert(statsman.get_stats, "not compatible with trunk based on openmetrics");

module:add_feature("http://jabber.org/protocol/stats");

module:hook("iq/host/http://jabber.org/protocol/stats:query", function (event)
	local origin, stanza = event.origin, event.stanza;
	local stats, _, extra = statsman.get_stats();
	local reply = st.reply(stanza);
	reply:tag("query", { xmlns = "http://jabber.org/protocol/stats" });
	for stat, value in pairs(stats) do
		local unit = extra[stat] and extra[stat].units;
		reply:tag("stat", { name = stat, unit = unit, value = s_format("%.12g", value) }):up();
	end
	origin.send(reply);
	return true;
end)