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 3.1.
- 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_eventdo |event|
puts"I received an event: #{event.type}, #{event.data}"endendFor 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.