annotate mod_http_debug/README.md @ 5668:ecfd7aece33b

mod_measure_modules: Report module statuses via OpenMetrics Someone in the chat asked about a health check endpoint, which reminded me of mod_http_status, which provides access to module statuses with full details. After that, this idea came about, which seems natural. As noted in the README, it could be used to monitor that critical modules are in fact loaded correctly. As more modules use the status API, the more useful this module and mod_http_status becomes.
author Kim Alvefur <zash@zash.se>
date Fri, 06 Oct 2023 18:34:39 +0200
parents 91564b57e595
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5489
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 ---
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 summary: HTTP module returning info about requests for debugging
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 ---
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 This module returns some info about HTTP requests as Prosody sees them
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 from an endpoint like `http://xmpp.example.net:5281/debug`. This can be
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 used to validate [reverse-proxy configuration][doc:http] and similar use
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 cases.
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 # Example
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 ```
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 $ curl -sSf https://xmpp.example.net:5281/debug | json_pp
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 {
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 "body" : "",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 "headers" : {
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 "accept" : "*/*",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 "host" : "xmpp.example.net:5281",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 "user_agent" : "curl/7.74.0"
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 },
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 "httpversion" : "1.1",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 "id" : "jmFROQKoduU3",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 "ip" : "127.0.0.1",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 "method" : "GET",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 "path" : "/debug",
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 "secure" : true,
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 "url" : {
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 "path" : "/debug"
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 }
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 }
a7188eb4ded4 mod_http_debug: Add a brief README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 ```
5490
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
32
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
33 # Configuration
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
34
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
35 HTTP Methods handled can be configured via the `http_debug_methods`
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
36 setting. By default, the most common methods are already enabled.
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
37
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
38 ```lua
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
39 http_debug_methods = { "GET"; "HEAD"; "DELETE"; "OPTIONS"; "PATCH"; "POST"; "PUT" };
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5489
diff changeset
40 ```