A client for the Server-Sent Events protocol. This implementation runs on a worker thread, and uses the http gem to manage a persistent connection. Its primary purpose is to support the LaunchDarkly SDK for Ruby, but it can be used independently.
Parts of this code are based on https://github.com/Tonkpils/celluloid-eventsource, but it does not use Celluloid.
This gem has a minimum Ruby version of 2.5, or 9.2 for JRuby.
- Install the Ruby SDK with
gem:
gem install ld-eventsource- Import the code:
require 'ld-eventsource'- Create a new SSE client instance and register your event handler:
sse_client = SSE::Client.new("http://hostname/resource/path") do |client|
client.on_event do |event|
puts "I received an event: #{event.type}, #{event.data}"
end
endFor other options available with the Client constructor, see the API documentation.
We welcome questions, suggestions, and pull requests at our Github repository. Pull requests should be done from a fork.