Sha256: 223c5edd6e041bddf54a70ec0c1d18a6189f0b7fba03959c4cb9071010e69ee1
Contents?: true
Size: 1.95 KB
Versions: 1
Compression:
Stored size: 1.95 KB
Contents
require 'ruby_bosh' require 'xmpp4r' require 'xmpp4r/muc/helper/mucclient' require 'xmpp4r/muc/helper/simplemucclient' class JegolController < ApplicationController def new_boshsession username = session[:user_jid].nil? ? get_jid() : session[:user_jid] password = session[:user_password].nil? ? JEGOL_CONFIG['default_pwd'] : session[:user_password] xmpp_server = JEGOL_CONFIG['xmpp_server'] xmpp_bosh_port = JEGOL_CONFIG['xmpp_bosh_port'] jid = "#{username}@#{xmpp_server}" server_url = "http://#{xmpp_server}:#{xmpp_bosh_port}/http-bind/" room = "#{params[:room_jid]}@#{JEGOL_CONFIG['muc_namespace']}" nickname = "#{username}:~:#{Time.new.tv_sec}" #append timestamp to make sure nickname is unique @session_jid, @session_id, @session_random_id = RubyBOSH.initialize_session(jid, password, server_url, {:timeout => 20}) render :json => {:jid=>@session_jid, :sid=>@session_id, :rid=>@session_random_id, :room => room, :nickname => nickname} end def get_jid if(session[:user_jid].nil?) session[:user_jid] = "#{JEGOL_CONFIG['guest_jid']}#{rand(9999)}" create_jid(session[:user_jid]) end session[:user_jid] end def create_jid(username) jid = "#{username}@#{JEGOL_CONFIG['xmpp_server']}" client = Jabber::Client.new(jid) client.connect(nil, JEGOL_CONFIG['c2s_port'].to_i) client.register(JEGOL_CONFIG['default_pwd']) client.close return username end def demo @room = 'demo_room' @active = true @room = params[:room] if !params[:room].nil? && !params[:room].empty? @active = !params[:active].nil? && params[:active].downcase == 'true' respond_to do |format| format.html #demo.html.erb end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jegolize-0.1.9 | app/controllers/jegol_controller.rb |