annotate mod_compact_resource/mod_compact_resource.lua @ 4386:6357ac65b4eb

mod_groups_internal: allow delay of roster sync on group change This is useful when executing a bulk change (e.g. a creation of a group with many members) to avoid O(n^3).
author Jonas Schäfer <jonas@wielicki.name>
date Mon, 25 Jan 2021 21:33:38 +0100
parents 6f34e51a23f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1761
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local base64_encode = require"util.encodings".base64.encode;
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local random_bytes = require"util.random".bytes;
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 local b64url = { ["+"] = "-", ["/"] = "_", ["="] = "" };
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local function random_resource()
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 return base64_encode(random_bytes(8)):gsub("[+/=]", b64url);
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 end
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 module:hook("pre-resource-bind", function (event)
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 event.resource = random_resource();
6f34e51a23f0 mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 end);