jmettraux / ratpack forked from kennethkalmer/ratpack

Simple HTTP to XMPP bridge built on Sinatra

This URL has Read+Write access

ratpack / bridge.rb
100644 44 lines (34 sloc) 0.909 kb
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
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'
 
use Rack::ShowExceptions
 
configure do
  RATPACK_ROOT = File.dirname(__FILE__) unless defined?( RATPACK_ROOT )
  require 'lib/ratpack'
  Ratpack::Application.instance(
    :jabber_id => 'ratpack@devbox',
    :password => 'secret',
    :contacts => ['kenneth@devbox']
  )
  trap(:INT) do
    Ratpack::Application.instance.shutdown!
  end
end
 
get '/' do
  '<html><head><title>Talk!</title></head><body><h1>Talk!</h1></body></html>'
end
 
post '/message' do
  to = params[:to]
  message = params[:message]
 
  Ratpack::Application.instance.message( to, message ).to_xml
end
 
post '/broadcast' do
  to = params['recipients[]']
  message = params[:message]
 
  Ratpack::Application.instance.broadcast( message, to ).to_xml
end
 
post '/pool' do
  to = params[:pool]
  message = params[:message]
 
  Ratpack::Application.instance.pool( to, message ).to_xml
end