diff --git a/extensions/https/https.lua b/extensions/https/https.lua index 6e7b8b8..78ed361 100644 --- a/extensions/https/https.lua +++ b/extensions/https/https.lua @@ -34,6 +34,10 @@ local function closeServer() end end +function extension:getHTTPServer() + return httpSecureServer +end + extension:subscribeEvent('startup', function() local configuration = extension:getConfiguration() closeServer() diff --git a/extensions/web-base/web-base.lua b/extensions/web-base/web-base.lua index b4438ac..c98e960 100644 --- a/extensions/web-base/web-base.lua +++ b/extensions/web-base/web-base.lua @@ -133,6 +133,13 @@ function extension:unregisterAddonExtension(ext) self:registerAddon(ext:getId()) end +function extension:getWebBaseInfo() + return { + addons = Map.size(addons), + websockets = #websockets + } +end + extension:watchPattern('^data/.*', onDataChange) extension:subscribeEvent('startup', function() diff --git a/lha/restEngine.lua b/lha/restEngine.lua index 3c655d9..dc7a892 100644 --- a/lha/restEngine.lua +++ b/lha/restEngine.lua @@ -254,6 +254,10 @@ local REST_ADMIN = { local engine = exchange:getAttribute('engine') local httpServer = engine:getHTTPServer() --local ip, port = httpServer:getAddress() + local httpsExt = engine:getExtensionById('https') + local httpsServer = httpsExt and httpsExt:getHTTPServer() + local webBaseExt = engine:getExtensionById('web-base') + local webBaseInfo = webBaseExt and webBaseExt:getWebBaseInfo() return { ['CPU Time'] = os.clock(), ['Server Time'] = os.time(), @@ -262,6 +266,9 @@ local REST_ADMIN = { ['Lua Registry Entries'] = Map.size(debug.getregistry()), ['Loaded Packages'] = Map.size(package.loaded), ['HTTP Clients'] = Map.size(httpServer.pendings), + ['HTTPS Clients'] = httpsServer and Map.size(httpsServer.pendings) or 0, + ['Web Base Addons'] = webBaseInfo and webBaseInfo.addons or 0, + ['Web Base WebSockets'] = webBaseInfo and webBaseInfo.websockets or 0, } end, backup = {