faye/faye — Issue #121: Exceptions raised in server extensions silently swallowed (along with messages)
Author: jamesotron
Created: 2012-01-11 00:52:29+00:00
State: open

Hi there.

Quick demonstration:

require 'faye'

server = Faye::RackAdapter.new(:mount => '/faye')

class BogusExtension
def incoming(message,callback)
raise "broken"
end
end
server.add_extension(BogusExtension)

EM.run do
server.get_client.publish('/bogus', 'test message')
EM.add_timer 5 do
puts "I should have raised an exception by now."
EM.stop_event_loop
end
end

Personally, I think that if I write an extension that breaks Faye then I should see an exception instead of simply breaking all client connectivity (server responds "400 - bad request").