plugins/mod_admin_socket.lua
branch0.12
changeset 12891 68df46926c26
parent 12422 dd47adf74e93
child 12892 b8504b71735d
equal deleted inserted replaced
12889:3a6dae39c70e 12891:68df46926c26
    17 end
    17 end
    18 
    18 
    19 local server = require "net.server";
    19 local server = require "net.server";
    20 
    20 
    21 local adminstream = require "util.adminstream";
    21 local adminstream = require "util.adminstream";
       
    22 local st = require "util.stanza";
    22 
    23 
    23 local socket_path = module:get_option_path("admin_socket", "prosody.sock", "data");
    24 local socket_path = module:get_option_path("admin_socket", "prosody.sock", "data");
    24 
    25 
    25 local sessions = module:shared("sessions");
    26 local sessions = module:shared("sessions");
    26 
    27 
    33 		event_name = "admin/"..stanza.attr.xmlns..":"..stanza.name;
    34 		event_name = "admin/"..stanza.attr.xmlns..":"..stanza.name;
    34 	else
    35 	else
    35 		event_name = "admin/"..stanza.name;
    36 		event_name = "admin/"..stanza.name;
    36 	end
    37 	end
    37 	module:log("debug", "Firing %s", event_name);
    38 	module:log("debug", "Firing %s", event_name);
    38 	return module:fire_event(event_name, event_data);
    39 	local ret = module:fire_event(event_name, event_data);
       
    40 	if ret == nil then
       
    41 		session.send(st.stanza("repl-result", { type = "error" }):text("No module handled this query. Is mod_admin_shell enabled?"));
       
    42 	end
       
    43 	return ret;
    39 end
    44 end
    40 
    45 
    41 module:hook("server-stopping", function ()
    46 module:hook("server-stopping", function ()
    42 	for _, session in pairs(sessions) do
    47 	for _, session in pairs(sessions) do
    43 		session:close("system-shutdown");
    48 		session:close("system-shutdown");