annotate mod_http_debug/README.md @ 5536:96dec7681af8

mod_firewall: Update user marks to store instantly via map store The original approach was to keep marks in memory only, and persist them at shutdown. That saves I/O, at the cost of potentially losing marks on an unclean shutdown. This change persists marks instantly, which may have some performance overhead but should be more "correct". It also splits the marking/unmarking into an event which may be watched or even fired by other modules.
author Matthew Wild <mwild1@gmail.com>
date Thu, 08 Jun 2023 16:20:42 +0100
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 ```