local sm = require "core.sessionmanager";
local sm_destroy_session = sm.destroy_session;
local new_uuid = require "util.uuid".generate;
-local fire_event = prosody.events.fire_event;
+local fire_event = require "core.eventmanager".fire_event;
local core_process_stanza = core_process_stanza;
local st = require "util.stanza";
local logger = require "util.logger";
local r, send_buffer = session.requests, session.send_buffer;
local response = { headers = default_headers }
function session.send(s)
- -- We need to ensure that outgoing stanzas have the jabber:client xmlns
- if s.attr and not s.attr.xmlns then
- s = st.clone(s);
- s.attr.xmlns = "jabber:client";
- end
--log("debug", "Sending BOSH data: %s", tostring(s));
local oldest_request = r[1];
if oldest_request then
end
end
-function stream_callbacks.error(request, error)
- log("debug", "Error parsing BOSH request payload; %s", error);
- if not request.sid then
- request:send({ headers = default_headers, status = "400 Bad Request" });
- return;
- end
-
- local session = sessions[request.sid];
- if error == "stream-error" then -- Remote stream error, we close normally
- session:close();
- else
- session:close({ condition = "bad-format", text = "Error processing stream" });
- end
-end
-
local dead_sessions = {};
function on_timer()
-- log("debug", "Checking for requests soon to timeout...");