Comparison

plugins/mod_bosh.lua @ 7380:d24d88feed76

mod_bosh: Return a proper BOSH error response from XML parse error callback (see #343)
author Kim Alvefur <zash@zash.se>
date Tue, 19 Apr 2016 12:19:15 +0200
parent 7379:250855633092
child 7381:a05bf94646ba
comparison
equal deleted inserted replaced
7379:250855633092 7380:d24d88feed76
410 410
411 function stream_callbacks.error(context, error) 411 function stream_callbacks.error(context, error)
412 log("debug", "Error parsing BOSH request payload; %s", error); 412 log("debug", "Error parsing BOSH request payload; %s", error);
413 if not context.sid then 413 if not context.sid then
414 local response = context.response; 414 local response = context.response;
415 response.status_code = 400; 415 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate",
416 response:send(); 416 ["xmlns:stream"] = xmlns_streams, condition = "bad-request" });
417 response:send(tostring(close_reply));
417 return; 418 return;
418 end 419 end
419 420
420 local session = sessions[context.sid]; 421 local session = sessions[context.sid];
421 if error == "stream-error" then -- Remote stream error, we close normally 422 if error == "stream-error" then -- Remote stream error, we close normally