Method: Jabber::RPC::Server#handle_iq

Defined in:
lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/server.rb

#handle_iq(iq) ⇒ Object

handles incoming iqs

iq
Jabber::IQ
  • the jabber iq



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/server.rb', line 40

def handle_iq(iq)
  if iq.type == :set
    if iq.query.kind_of?(IqQueryRPC)
      data = iq.query
      response = IqQueryRPC.new
      data.elements.each { |rpc|
        if rpc
          response.typed_add(handle_rpc_requests(rpc))
        end
      }

      respiq = iq.answer(false)
      respiq.type = :result
      respiq.add(response)
      @stream.send(respiq)
    end
  end
end