mod_http_debug/README.md
author Kim Alvefur <zash@zash.se>
Sun, 03 Mar 2024 11:23:40 +0100
changeset 5857 97c9b76867ca
parent 5494 91564b57e595
permissions -rw-r--r--
mod_log_ringbuffer: Detach event handlers on logging reload (thanks Menel) Otherwise the global event handlers accumulate, one added each time logging is reoladed, and each invocation of the signal or event triggers one dump of each created ringbuffer.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5493
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
```
5494
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5493
diff changeset
    32
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5493
diff changeset
    33
# Configuration
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5493
diff changeset
    34
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5493
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: 5493
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: 5493
diff changeset
    37
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5493
diff changeset
    38
```lua
91564b57e595 mod_http_debug: Handle more HTTP methods
Kim Alvefur <zash@zash.se>
parents: 5493
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: 5493
diff changeset
    40
```