Software /
code /
verse
Comparison
client.lua @ 10:3a422606a040
verse.client: Fire events on stream features, errors, etc. and on non-stream tags such as SASL and TLS
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 28 Nov 2009 22:28:03 +0000 |
parent | 1:7c8d0a2fc004 |
child | 11:ce349990bd21 |
comparison
equal
deleted
inserted
replaced
9:ca225a2d67b4 | 10:3a422606a040 |
---|---|
4 local jid_split = require "jid".split; | 4 local jid_split = require "jid".split; |
5 local lxp = require "lxp"; | 5 local lxp = require "lxp"; |
6 local st = require "util.stanza"; | 6 local st = require "util.stanza"; |
7 local init_xmlhandlers = require "xmlhandlers"; | 7 local init_xmlhandlers = require "xmlhandlers"; |
8 | 8 |
9 local xmlns_stream = "http://etherx.jabber.org/streams"; | |
9 | 10 |
10 local stream_callbacks = { stream_tag = "http://etherx.jabber.org/streams|stream", | 11 local stream_callbacks = { stream_tag = xmlns_stream.."|stream", |
11 default_ns = "jabber:client" }; | 12 default_ns = "jabber:client" }; |
12 | 13 |
13 function stream_callbacks.streamopened(stream, attr) | 14 function stream_callbacks.streamopened(stream, attr) |
14 if not stream:event("opened") then | 15 if not stream:event("opened") then |
15 stream.notopen = nil; | 16 stream.notopen = nil; |
20 function stream_callbacks.streamclosed(stream) | 21 function stream_callbacks.streamclosed(stream) |
21 return stream:event("closed"); | 22 return stream:event("closed"); |
22 end | 23 end |
23 | 24 |
24 function stream_callbacks.handlestanza(stream, stanza) | 25 function stream_callbacks.handlestanza(stream, stanza) |
26 if stanza.attr.xmlns == xmlns_stream then | |
27 return stream:event("stream-"..stanza.name, stanza); | |
28 elseif stanza.attr.xmlns then | |
29 return stream:event("stream/"..stanza.attr.xmlns, stanza); | |
30 end | |
25 return stream:event("stanza", stanza); | 31 return stream:event("stanza", stanza); |
26 end | 32 end |
27 | 33 |
28 local function reset_stream(stream) | 34 local function reset_stream(stream) |
29 -- Reset stream | 35 -- Reset stream |