ansible-roles/roles/jitsi/files/prosody/modules/mod_jitsi_session.lua

34 lines
1.3 KiB
Lua
Raw Normal View History

2024-07-22 23:00:11 +02:00
-- Jitsi session information
-- Copyright (C) 2021-present 8x8, Inc.
module:set_global();
local formdecode = require "util.http".formdecode;
2025-06-16 16:00:13 +02:00
local region_header_name = module:get_option_string('region_header_name', 'x_proxy_region');
2024-07-22 23:00:11 +02:00
-- Extract the following parameters from the URL and set them in the session:
-- * previd: for session resumption
function init_session(event)
local session, request = event.session, event.request;
local query = request.url.query;
if query ~= nil then
local params = formdecode(query);
-- previd is used together with https://modules.prosody.im/mod_smacks.html
-- the param is used to find resumed session and re-use anonymous(random) user id
session.previd = query and params.previd or nil;
-- customusername can be used with combination with "pre-jitsi-authentication" event to pre-set a known jid to a session
session.customusername = query and params.customusername or nil;
-- The room name and optional prefix from the web query
session.jitsi_web_query_room = params.room;
session.jitsi_web_query_prefix = params.prefix or "";
end
2025-06-16 16:00:13 +02:00
session.user_region = request.headers[region_header_name];
2024-07-22 23:00:11 +02:00
end
module:hook_global("bosh-session", init_session, 1);
module:hook_global("websocket-session", init_session, 1);