annotate mod_stats39/mod_stats39.lua @ 6083:ffd0184cd478

mod_compliance_latest: New module that depends on and therefore loads the latest compliance tester mod. diff --git a/mod_compliance_latest/README.md b/mod_compliance_latest/README.md new file mode 100644 --- /dev/null +++ b/mod_compliance_latest/README.md @@ -0,0 +1,25 @@ +--- +summary: XMPP Compliance Suites self-test +labels: +- Stage-Beta +rockspec: + dependencies: + - mod_compliance_2023 +... + +# Introduction + +This module will always require and load to the lastest compliance tester we have in the community modules. +Currently this is [mod_compliance_2023]. + +# Configuration + +Just load this module as any other module and it will automatically install [mod_compliance_2023] if you use the Prosody plugin installer. +See the linked module for further details. + +# Compatibility + + Prosody-Version Status + --------------- ---------------------- + trunk Works as of 2024-12-22 + 0.12 Works diff --git a/mod_compliance_latest/mod_compliance_latest.lua b/mod_compliance_latest/mod_compliance_latest.lua new file mode 100644 --- /dev/null +++ b/mod_compliance_latest/mod_compliance_latest.lua @@ -0,0 +1,1 @@ +module:depends("compliance_2023");
author Menel <menel@snikket.de>
date Sun, 22 Dec 2024 18:12:42 +0100
parents bac3dae031ee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3839
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local statsman = require "core.statsmanager";
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local st = require "util.stanza";
3846
3941768916f1 mod_stats39: Format numbers with a bit more precision
Kim Alvefur <zash@zash.se>
parents: 3840
diff changeset
3 local s_format = string.format;
3839
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
4595
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3847
diff changeset
5 assert(statsman.get_stats, "not compatible with trunk based on openmetrics");
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 3847
diff changeset
6
3847
ffc64d285a96 mod_stats39: Advertise namespace as feature (not part of the XEP?)
Kim Alvefur <zash@zash.se>
parents: 3846
diff changeset
7 module:add_feature("http://jabber.org/protocol/stats");
ffc64d285a96 mod_stats39: Advertise namespace as feature (not part of the XEP?)
Kim Alvefur <zash@zash.se>
parents: 3846
diff changeset
8
3839
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 module:hook("iq/host/http://jabber.org/protocol/stats:query", function (event)
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 local origin, stanza = event.origin, event.stanza;
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 local stats, _, extra = statsman.get_stats();
3840
054898e84a04 mod_stats39: Use a more local reference (silence luacheck warning)
Kim Alvefur <zash@zash.se>
parents: 3839
diff changeset
12 local reply = st.reply(stanza);
3839
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 reply:tag("query", { xmlns = "http://jabber.org/protocol/stats" });
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 for stat, value in pairs(stats) do
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 local unit = extra[stat] and extra[stat].units;
3846
3941768916f1 mod_stats39: Format numbers with a bit more precision
Kim Alvefur <zash@zash.se>
parents: 3840
diff changeset
16 reply:tag("stat", { name = stat, unit = unit, value = s_format("%.12g", value) }):up();
3839
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 end
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 origin.send(reply);
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 return true;
a4b05f34a790 mod_stats39: Provides statsmanager stats via XEP-0039
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 end)