comparison mod_http_health/mod_http_health.lua @ 5667: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
parents mod_http_status/mod_http_status.lua@6af2d74daa15
children 09233b625cb9
comparison
equal deleted inserted replaced
5666:e5ad3f1f48bd 5667:9bcd257dea4e
1 module:set_global();
2
3
4 local modulemanager = require "core.modulemanager";
5
6 module:provides("http", {
7 route = {
8 GET = function()
9 for host in pairs(prosody.hosts) do
10 local mods = modulemanager.get_modules(host);
11 for _, mod in pairs(mods) do
12 if mod.module.status_type == "error" then
13 return { status_code = 500; headers = { content_type = "text/plain" }; body = "HAS ERRORS\n" };
14 end
15 end
16 end
17
18 return { status_code = 200; headers = { content_type = "text/plain" }; body = "OK\n" };
19 end;
20 };
21 });