diff options
author | Kim Alvefur <zash@zash.se> | 2021-02-03 23:46:13 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2021-02-03 23:46:13 +0100 |
commit | ca39262991f7355a95bf6c3ced6f845908f0091f (patch) | |
tree | 6fc023b7eb528e3088e74c34c581d087d0c91f38 | |
parent | bdb5e39f5c10e59515775392196569a62ef09677 (diff) | |
download | prosody-ca39262991f7355a95bf6c3ced6f845908f0091f.tar.gz prosody-ca39262991f7355a95bf6c3ced6f845908f0091f.zip |
mod_admin_shell: Pretty-print HTTP endpoints in a human table
Attempted readability improvement
-rw-r--r-- | plugins/mod_admin_shell.lua | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/plugins/mod_admin_shell.lua b/plugins/mod_admin_shell.lua index a6ed4732..2ca2f1d4 100644 --- a/plugins/mod_admin_shell.lua +++ b/plugins/mod_admin_shell.lua @@ -37,6 +37,7 @@ local serialize_config = serialization.new ({ fatal = false, unquoted = true}); local time = require "util.time"; local format_number = require "util.human.units".format; +local format_table = require "util.human.io".table; local commands = module:shared("commands") local def_env = module:shared("env"); @@ -1225,6 +1226,10 @@ def_env.http = {}; function def_env.http:list(hosts) local print = self.session.print; hosts = array.collect(set.new({ not hosts and "*" or nil }) + get_hosts_set(hosts)):sort(_sort_hosts); + local output = format_table({ + { title = "Module", width = "20%" }, + { title = "URL", width = "80%" }, + }, 132); for _, host in ipairs(hosts) do local http_apps = modulemanager.get_items("http-provider", host); @@ -1235,11 +1240,12 @@ function def_env.http:list(hosts) else print("HTTP endpoints on "..host..(http_host and (" (using "..http_host.."):") or ":")); end + print(output()); for _, provider in ipairs(http_apps) do local mod = provider._provided_by; local url = module:context(host):http_url(provider.name, provider.default_path); mod = mod and "mod_"..mod or "" - print("", mod, url); + print(output{mod, url}); end print(""); end |