Software /
code /
prosody-modules
File
mod_nodeinfo2/mod_nodeinfo2.lua @ 3705:5d3d8b75dee9
mod_nodeinfo2: Expose service metadata per NodeInfo2
https://git.feneas.org/jaywink/nodeinfo2
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 25 Jun 2019 09:05:59 +0200 |
child | 3706:36b645e94325 |
line wrap: on
line source
local json = require "util.json"; local array = require "util.array"; module:depends("http"); local total_users = 0; for _ in require "core.usermanager".users(module.host) do total_users = total_users + 1; end module:provides("http", { default_path = "/.well-known/x-nodeinfo2"; route = { GET = function (event) event.response.headers.content_type = "application/json"; return json.encode({ version = "1.0"; server = { baseUrl = module:http_url("","/"); name = module.host; software = "Prosody"; version = prosody.version; }; --[[ organization = { name = ""; contact = ""; account = ""; }; --]] protocols = array { "xmpp", }; --[[ services = { inbound = array { "irc"; }; outbound = array { }; }; --]] openRegistrations = module:get_option_boolean("allow_registration", false); usage = { users = { total = total_users; -- activeHalfyear = 1; -- activeMonth = 1; -- activeWeek = 1; }; -- localPosts = 0; -- localComments = 0; }; }); end; } });