Software /
code /
prosody-modules
Comparison
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 |
comparison
equal
deleted
inserted
replaced
5689:e5ad3f1f48bd | 5690: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 }); |