Mercurial > prosody-modules
annotate mod_stanzadebug/mod_stanzadebug.lua @ 4976:75b6e5df65f9
various: Improve error reporting if missing file server module on 0.12
If there is some error loading net.http.files then it would be swallowed
by the pcall and then it would proceed to trying mod_http_files, which
might cause unexpected behavior on 0.12
Ref #1765
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 18 Jul 2022 22:47:54 +0200 |
parents | 590ac12b7671 |
children |
rev | line source |
---|---|
1445
ae1d7665cde9
mod_rawdebug: Make global (like mod_admin_telnet)
Kim Alvefur <zash@zash.se>
parents:
1444
diff
changeset
|
1 module:set_global(); |
1444
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local tostring = tostring; |
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 local filters = require "util.filters"; |
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 |
2256
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
6 local function log_send(t, session) |
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
7 if t and t ~= "" and t ~= " " then |
2488
590ac12b7671
mod_stanzadebug: Like mod_rawdebug but stanzas instead of the raw bytes
Kim Alvefur <zash@zash.se>
parents:
2256
diff
changeset
|
8 session.log("debug", "SEND: %s", tostring(t)); |
1444
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 end |
2256
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
10 return t; |
1444
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end |
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 |
2256
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
13 local function log_recv(t, session) |
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
14 if t and t ~= "" and t ~= " " then |
2488
590ac12b7671
mod_stanzadebug: Like mod_rawdebug but stanzas instead of the raw bytes
Kim Alvefur <zash@zash.se>
parents:
2256
diff
changeset
|
15 session.log("debug", "RECV: %s", tostring(t)); |
1444
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 end |
2256
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
17 return t; |
1444
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 end |
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 |
2256
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
20 local function init_raw_logging(session) |
2488
590ac12b7671
mod_stanzadebug: Like mod_rawdebug but stanzas instead of the raw bytes
Kim Alvefur <zash@zash.se>
parents:
2256
diff
changeset
|
21 filters.add_filter(session, "stanzas/in", log_recv, -10000); |
590ac12b7671
mod_stanzadebug: Like mod_rawdebug but stanzas instead of the raw bytes
Kim Alvefur <zash@zash.se>
parents:
2256
diff
changeset
|
22 filters.add_filter(session, "stanzas/out", log_send, 10000); |
1444
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 end |
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 |
2256
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
25 filters.add_filter_hook(init_raw_logging); |
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
26 |
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
27 function module.unload() -- luacheck: ignore |
c5c583fae25d
mod_rawdebug: Simplify, remove telnet command, log every single byte
Kim Alvefur <zash@zash.se>
parents:
1445
diff
changeset
|
28 filters.remove_filter_hook(init_raw_logging); |
1444
56c394b9e60d
mod_rawdebug: Adds a telnet command for enabling logging of entire stanzas that are sent and received
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 end |