fertesta (owner)

Revisions

gist: 226639 Download_button fork
public
Public Clone URL: git://gist.github.com/226639.git
Embed All Files: show embed
esl_2_http.rb #
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
27
28
29
30
31
32
33
34
require 'net/http'
require 'ESL'
require 'uri'
 
def translate_event(event)
  parms={}
  header_name=event.firstHeader
  loop do
    break if nil==header_name
    header_value = event.getHeader(header_name)
    parms[header_name] = header_value
    header_name=event.nextHeader
  end
  parms
end
 
puts 'connecting...'
con = ESL::ESLconnection.new('127.0.0.1', '8021', 'ClueCon')
puts 'event plain all...'
esl = con.sendRecv('event plain all')
puts esl.getBody
 
loop do
  event=con.recvEvent
  parms = translate_event(event)
  puts 'got event '+parms['Event-Name']
  res = Net::HTTP.start('127.0.0.1', 4567) {|http|
    http.get('/'+parms['Event-Name'], parms)
  }
  puts 'http server response: '+res.body
  # event=con.sendRecv res.body
  # puts 'FS response: '+event.getBody
end
 
server.rb #
1
2
3
4
5
6
7
8
9
10
11
12
require 'rubygems'
require 'sinatra'
 
get '/HEARTBEAT' do
  'api show channels'
end
 
get '/CUSTOM' do
  'sofia status'
end