mod_compact_resource: Enforces short random resources
authorKim Alvefur <zash@zash.se>
Wed, 27 May 2015 13:27:56 +0200
changeset 1765 6f34e51a23f0
parent 1764 e72f9eac51c8
child 1766 e6c7fe1be6cd
mod_compact_resource: Enforces short random resources
mod_compact_resource/mod_compact_resource.lua
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_compact_resource/mod_compact_resource.lua	Wed May 27 13:27:56 2015 +0200
@@ -0,0 +1,12 @@
+
+local base64_encode = require"util.encodings".base64.encode;
+local random_bytes = require"util.random".bytes;
+
+local b64url = { ["+"] = "-", ["/"] = "_", ["="] = "" };
+local function random_resource()
+	return base64_encode(random_bytes(8)):gsub("[+/=]", b64url);
+end
+
+module:hook("pre-resource-bind", function (event)
+	event.resource = random_resource();
+end);