I am using faye on my Rails 2.1 app. And after testing and fixing many things faye ruby client
is not working.
This is my server code.
requi
I finally used HTTP not the Ruby Faye client as described in railscasts episode 260.
require 'net/http'
message = {:channel => '/faye/new_chats', :data => self.text, :ext => {:auth_token => FAYE_TOKEN}}
uri = URI.parse("http://localhost:9292/faye")
Net::HTTP.post_form(uri, :message => message.to_json)
It solves my problem.
NOTE: This solution only works with HTTP but not with HTTPS. If any one find a solution for HTTPS plz update me.
You were almost there... You just needed to stop the EM event loop in your callbacks, like this:
EM.run do
client = Faye::Client.new('http://localhost:9292/faye')
publication = client.publish("/faye/new_chats", {
"user" => "ruby-logger",
"message" => "Got your message!"
})
publication.callback do
puts "[PUBLISH SUCCEEDED]"
EM.stop_event_loop
end
publication.errback do |error|
puts "[PUBLISH FAILED] #{error.inspect}"
EM.stop_event_loop
end
end