Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'eventmachine'
- require 'evma_httpserver'
- class HttpHandler < EM::Connection
- include EM::HttpServer
- @@listeners = []
- def process_http_request
- resp = EM::DelegatedHttpResponse.new(self)
- case @http_path_info
- when '/observe'
- @@listeners.push(resp)
- puts "Observed (#{@@listeners.length} total)"
- when '/notify'
- @@listeners.each_with_index do |listener, i|
- puts "Notified #{i}"
- listener.status = 200
- listener.content = "Hello World #{i}!"
- listener.send_response
- end
- @@listeners = []
- resp.status = 200
- resp.content = "Success!"
- resp.send_response
- else
- resp.status = 200
- resp.content = "Received #{resp.inspect}!"
- resp.send_response
- end
- end
- end
- EM.run do
- EM.start_server "0.0.0.0", 6000, HttpHandler
- puts 'listening...'
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement