annotate mod_measure_message_length/mod_measure_message_length.lua @ 4931:13070c6a7ce8

mod_http_muc_log: Fix exception on lack of trailing slash in room path A request to /room leads to the match call returning nil which in turn calls nodeprep(nil). In Prosody 0.11.x this does nothing and simply returns the nil, while in 0.12 it is an error. Now it redirects to the calendar view at /room/ - even for non-existant rooms. Discovered at a deployment with http_paths = { muc_log = "/" } and requests to /robots.txt and similar, which now result in a uses redirect before returning 404.
author Kim Alvefur <zash@zash.se>
date Fri, 22 Apr 2022 14:29:32 +0200
parents 6e70d354b7d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2372
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local bytes = module:measure("bytes", "sizes");
3430
6e70d354b7d8 mod_measure_message_length: Use measure type that actually exists
Kim Alvefur <zash@zash.se>
parents: 2372
diff changeset
2 local lines = module:measure("lines", "distribution");
6e70d354b7d8 mod_measure_message_length: Use measure type that actually exists
Kim Alvefur <zash@zash.se>
parents: 2372
diff changeset
3 local words = module:measure("words", "distribution");
2372
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 local function measure_length(event)
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local body = event.stanza:get_child_text("body");
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 if body then
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 bytes(#body);
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 lines(select(2, body:gsub("[^\n]+","")));
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 words(select(2, body:gsub("%S+","")));
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 end
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 end
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 module:hook("message/full", measure_length);
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 module:hook("message/bare", measure_length);
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 module:hook("message/host", measure_length);
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 module:hook("pre-message/full", measure_length);
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 module:hook("pre-message/bare", measure_length);
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 module:hook("pre-message/host", measure_length);
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21