lib/blather/stream/component.rb in blather-0.3.4 vs lib/blather/stream/component.rb in blather-0.4.0

- old
+ new

@@ -4,27 +4,31 @@ class Component < Stream NAMESPACE = 'jabber:component:accept' def receive(node) # :nodoc: if node.element_name == 'handshake' - @client.post_init + ready! else super end - if node.namespaces.find_by_href('http://etherx.jabber.org/streams') && node.find_first('/stream:stream[not(stream:error)]') - send("<handshake>#{Digest::SHA1.hexdigest(@node['id']+@pass)}</handshake>") + if node.document.find_first('/stream:stream[not(stream:error)]', :xmlns => NAMESPACE, :stream => STREAM_NS) + send("<handshake>#{Digest::SHA1.hexdigest(@node['id']+@password)}</handshake>") end end - protected + def send(stanza) + stanza.from ||= self.jid if stanza.respond_to?(:from) && stanza.respond_to?(:from=) + super stanza + end + def start @parser = Parser.new self start_stream = <<-STREAM <stream:stream to='#{@jid}' xmlns='#{NAMESPACE}' - xmlns:stream='http://etherx.jabber.org/streams' + xmlns:stream='#{STREAM_NS}' > STREAM send start_stream.gsub(/\s+/, ' ') end end #Client