Popularity
3.6
Growing
Activity
4.7
-
12
2
0

Programming language: Crystal
License: MIT License
Tags: HTTP    
Latest version: v0.8.0

sse.cr alternatives and similar shards

Based on the "HTTP" category.
Alternatively, view sse.cr alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of sse.cr or a related project?

Add another 'HTTP' Shard

README

Server-Sent Events

Build Status Releases

Server-Sent Events server/client for Crystal.

Installation

  1. Add the dependency to your shard.yml:
dependencies:
  sse:
    github: y2k2mt/sse.cr
  1. Run shards install

Usage

Client

require "sse"

sse = HTTP::ServerSentEvents::EventSource.new("http://127.0.0.1:8080")

sse.on_message do |message|
  # Receiving messages from server
  p message.data
end

sse.run

Server

require "sse"

server = HTTP::Server.new [
  HTTP::ServerSentEvents::Handler.new { |es, _|
    es.source {
      # Delivering event data every 1 second.
      sleep 1
      HTTP::ServerSentEvents::EventMessage.new(
        data: ["foo", "bar"],
      )
    }
  },
]

server.bind_tcp "127.0.0.1", 8080
server.listen

Running server and you can get then:

$ curl 127.0.0.1:8080 -H "Accept: text/event-stream"

data: foo
data: bar

data: foo
data: bar

...

Contributing

  1. Fork it (https://github.com/y2k2mt/sse.cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • y2k2mt - creator and maintainer