mod_http_debug/README.md
author Kim Alvefur <zash@zash.se>
Sat, 18 May 2024 14:16:49 +0200
changeset 5913 070b0db6c4a0
parent 5494 91564b57e595
permissions -rw-r--r--
mod_http_upload_external: Add link to Rust implementation (Thanks Luna)
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
```