module Blather
class Stream
# @private
class Component < Stream
NAMESPACE = 'jabber:component:accept'
def receive(node) # :nodoc:
if node.element_name == 'handshake'
ready!
else
super
end
if node.document.find_first('/stream:stream[not(stream:error)]', :xmlns => NAMESPACE, :stream => STREAM_NS)
send "#{Digest::SHA1.hexdigest(node['id']+@password)}"
end
end
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
send ""
end
end #Client
end #Stream
end #Blather