Software / code / prosody
Comparison
plugins/mod_admin_shell.lua @ 12397:ddf02f2a3354
mod_admin_shell: Add session.write() method to write data to client with no \n
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 17 Mar 2022 10:22:47 +0000 |
| parent | 12304:8210c2a52e9c |
| child | 12398:478fff93ac37 |
comparison
equal
deleted
inserted
replaced
| 12396:bdb9577a4830 | 12397:ddf02f2a3354 |
|---|---|
| 81 | 81 |
| 82 self.data.print("Fatal error while running command, it did not complete"); | 82 self.data.print("Fatal error while running command, it did not complete"); |
| 83 self.data.print("Error: "..tostring(err)); | 83 self.data.print("Error: "..tostring(err)); |
| 84 end | 84 end |
| 85 | 85 |
| 86 local function send_repl_output(session, line) | 86 local function send_repl_output(session, line, attr) |
| 87 return session.send(st.stanza("repl-output"):text(tostring(line))); | 87 return session.send(st.stanza("repl-output", attr):text(tostring(line))); |
| 88 end | 88 end |
| 89 | 89 |
| 90 function console:new_session(admin_session) | 90 function console:new_session(admin_session) |
| 91 local session = { | 91 local session = { |
| 92 send = function (t) | 92 send = function (t) |
| 96 local t = {}; | 96 local t = {}; |
| 97 for i=1,select("#", ...) do | 97 for i=1,select("#", ...) do |
| 98 t[i] = tostring(select(i, ...)); | 98 t[i] = tostring(select(i, ...)); |
| 99 end | 99 end |
| 100 return send_repl_output(admin_session, table.concat(t, "\t")); | 100 return send_repl_output(admin_session, table.concat(t, "\t")); |
| 101 end; | |
| 102 write = function (t) | |
| 103 return send_repl_output(admin_session, t, { eol = "0" }); | |
| 101 end; | 104 end; |
| 102 serialize = tostring; | 105 serialize = tostring; |
| 103 disconnect = function () admin_session:close(); end; | 106 disconnect = function () admin_session:close(); end; |
| 104 }; | 107 }; |
| 105 session.env = setmetatable({}, default_env_mt); | 108 session.env = setmetatable({}, default_env_mt); |