rainbows.git  about / heads / tags
Unicorn for sleepy apps and slow clients
blob 0d26f70ce880fe5e866e52211cba43416db3fc8e 598 bytes (raw)
$ git show v0.95.1:t/cramp/rainsocket.ru	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
# based on examples/rainsocket.ru git://github.com/lifo/cramp
# Rack::Lint does not like async + EM stuff, so disable it:
#\ -E deployment
require 'cramp/controller'

Cramp::Controller::Websocket.backend = :rainbows

class WelcomeController < Cramp::Controller::Websocket
  periodic_timer :send_hello_world, :every => 2
  on_data :received_data

  def received_data(data)
    if data =~ /fuck/
      render "You cant say fuck in here"
      finish
    else
      render "Got your #{data}"
    end
  end

  def send_hello_world
    render "Hello from the Server!\n"
  end
end

run WelcomeController

git clone https://yhbt.net/rainbows.git