File

plugins/mod_stanza_debug.lua @ 13015:46c05c2e34f7

moduleapi: Add module:once() to execute a function after module load/startup It is a common pattern for modules to do something like check for prosody.start_time, and execute code immediately if it is present, or wait for the server-started event if it isn't yet. For example, this allows you to run code after all other modules/hosts have been loaded, that are going to be loaded. Such code can now be replaced with a simple call to this method.
author Matthew Wild <mwild1@gmail.com>
date Sat, 01 Apr 2023 11:59:50 +0100
parent 12977:74b9e05af71e
line wrap: on
line source

module:set_global();

local filters = require "prosody.util.filters";

local function log_send(t, session)
	if t and t ~= "" and t ~= " " then
		session.log("debug", "SEND: %s", t);
	end
	return t;
end

local function log_recv(t, session)
	if t and t ~= "" and t ~= " " then
		session.log("debug", "RECV: %s", t);
	end
	return t;
end

local function init_raw_logging(session)
	filters.add_filter(session, "stanzas/in",  log_recv, -10000);
	filters.add_filter(session, "stanzas/out", log_send,  10000);
end

filters.add_filter_hook(init_raw_logging);

function module.unload()
	filters.remove_filter_hook(init_raw_logging);
end