Software /
code /
prosody-modules
File
mod_http_health/mod_http_health.lua @ 5690:9bcd257dea4e
mod_http_health: Provide a health check HTTP endpoint
Someone in the chat asked about a health check endpoint, which reminded
me of mod_http_status, which was simplified to produce this module.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 06 Oct 2023 16:49:57 +0200 |
parent | 5161:mod_http_status/mod_http_status.lua@6af2d74daa15 |
child | 5712:09233b625cb9 |
line wrap: on
line source
module:set_global(); local modulemanager = require "core.modulemanager"; module:provides("http", { route = { GET = function() for host in pairs(prosody.hosts) do local mods = modulemanager.get_modules(host); for _, mod in pairs(mods) do if mod.module.status_type == "error" then return { status_code = 500; headers = { content_type = "text/plain" }; body = "HAS ERRORS\n" }; end end end return { status_code = 200; headers = { content_type = "text/plain" }; body = "OK\n" }; end; }; });