class Vines::Stream::Client::BindRestart

Public Class Methods

new(stream, success=Bind) click to toggle source
Calls superclass method
# File lib/vines/stream/client/bind_restart.rb, line 7
def initialize(stream, success=Bind)
  super
end

Public Instance Methods

node(node) click to toggle source
# File lib/vines/stream/client/bind_restart.rb, line 11
def node(node)
  raise StreamErrors::NotAuthorized unless stream?(node)
  stream.start(node)
  doc = Document.new
  features = doc.create_element('stream:features') do |el|
    # Session support is deprecated, but like we do it for Adium
    # in the iq-session-stanza we have to serve the feature for Xabber.
    # Otherwise it will disconnect after authentication!
    el << doc.create_element('session', 'xmlns' => NAMESPACES[:session]) do |session|
      session << doc.create_element('optional')
    end
    el << doc.create_element('bind', 'xmlns' => NAMESPACES[:bind])
  end
  stream.write(features)
  advance
end