Mercurial > eldonilo > lightstring
diff lightstring.js @ 71:f12c759e4097
Fix service-unavailable handler and errors stanzas.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Thu, 02 Feb 2012 01:59:42 +0100 |
parents | e1ccfb580228 |
children | 5dbf93cef55d |
line wrap: on
line diff
--- a/lightstring.js +++ b/lightstring.js @@ -43,12 +43,12 @@ var Lightstring = { } }, errors: { - iq: function(type, error) { - return "<iq to='" + stanza.DOM.getAttributeNS(null, 'from') + "'" + - " id='" + stanza.DOM.getAttributeNS(null, 'id') + "'" + + iq: function(from, id, type, error) { + return "<iq to='" + from + "'" + + " id='" + id + "'" + " type='error'>" + "<error type='" + type + "'>" + - "<" + error + " xmlns='" + Lightstring.namespaces['xmpp_stanzas'] + "'/>" + //TODO: allow text content. + "<" + error + " xmlns='" + Lightstring.ns['xmpp_stanzas'] + "'/>" + //TODO: allow text content. //TODO: allow text and payload. "</error>" + "</iq>"; @@ -346,7 +346,11 @@ Lightstring.Connection.prototype = { return; } - conn.send(Lightstring.stanzas.errors.iq('cancel', 'service-unavailable')); + if (aData && aData.DOM) { + var from = aData.DOM.getAttributeNS(null, 'from'); + var id = aData.DOM.getAttributeNS(null, 'id'); + this.send(Lightstring.stanzas.errors.iq(from, id, 'cancel', 'service-unavailable')); + } }, /** * @function Register an event handler.