23. $(function () {
var form = $('form'),
container = $('#messages');
chloe = new Chloe({host: 'localhost', port: 8901});
chloe.connect(function () {
form.submit(function () {
chloe.send(form.serialize());
$('#message').val(''); Server
Connect to the
return false;
});
chloe.onmessage(function (message) {
container.prepend("<li>" + message + "</li>");
});
});
});
24. $(function () {
var form = $('form'),
container = $('#messages');
chloe = new Chloe({host: 'localhost', port: 8901});
chloe.connect(function () {
form.submit(function () {
chloe.send(form.serialize());
$('#message').val('');
return false;
}); Send data to the server
chloe.onmessage(function (message) {
container.prepend("<li>" + message + "</li>");
});
});
});
25. $(function () {
var form = $('form'),
container = $('#messages');
chloe = new Chloe({host: 'localhost', port: 8901});
chloe.connect(function () {
form.submit(function () {
chloe.send(form.serialize());
$('#message').val('');
return false; this function when
Run a message arrives
});
chloe.onmessage(function (message) {
container.prepend("<li>" + message + "</li>");
});
});
});
26. get '/' do
erubis :index
end
post '/updates' do
data = URI.decode_www_form(request.body.read)
params = Hash[data]
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => params["message"]})
'ok'
end
27. get '/' do
erubis :index
end
post '/updates' html from earlier
Get the do
data = URI.decode_www_form(request.body.read)
params = Hash[data]
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => params["message"]})
'ok'
end
28. get '/' do
erubis :index
end
chloe.send(form.serialize());
post '/updates' do
data = URI.decode_www_form(request.body.read)
params = Hash[data]
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => params["message"]})
'ok'
end
29. get '/' do
erubis :index
end
post '/updates' do Ruby trick!
data = URI.decode_www_form(request.body.read)
params = Hash[data]
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => params["message"]})
'ok'
end
30. get '/' do
erubis :index
end
post '/updates' do
data = URI.decode_www_form(request.body.read)
params = Hash[data]
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => params["message"]})
Chloe broadcast/multicast url
'ok'
end
31. get '/' do
erubis :index
end
post '/updates' do
data = URI.decode_www_form(request.body.read)
params = Hash[data] data to Chloe
Send the
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => params["message"]})
'ok'
end
80. Signing Requests
SECRET = "SEKRET PASSFRASE”
post '/updates' do
data = URI.decode_www_form(request.body.read)
message = Hash[data]["message"]
sig = Digest::MD5.hexdigest(message + SECRET)
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => message, "sig" => sig})
'ok'
end
81. Signing Requests
SECRET = "SEKRET PASSFRASE”
post '/updates' do
data = URI.decode_www_form(request.body.read)
message = Hash[data]["message"]
sig = Digest::MD5.hexdigest(message + SECRET)
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => message, "sig" => sig})
'ok'
end
82. Signing Requests
SECRET = "SEKRET PASSFRASE”
post '/updates' do
From ./etc/app.config
data = URI.decode_www_form(request.body.read)
message = Hash[data]["message"]
sig = Digest::MD5.hexdigest(message + SECRET)
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => message, "sig" => sig})
'ok'
end
83. Signing Requests
SECRET = "SEKRET PASSFRASE”
post '/updates' do
Concat t wo strings
data = URI.decode_www_form(request.body.read)
message = Hash[data]["message"]
sig = Digest::MD5.hexdigest(message + SECRET)
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => message, "sig" => sig})
'ok'
end
84. Signing Requests
SECRET = "SEKRET PASSFRASE”
post '/updates' do
Hash them
data = URI.decode_www_form(request.body.read)
message = Hash[data]["message"]
sig = Digest::MD5.hexdigest(message + SECRET)
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => message, "sig" => sig})
'ok'
end
85. Signing Requests
SECRET = "SEKRET PASSFRASE”
post '/updates' do
data = URI.decode_www_form(request.body.read)
message = Hash[data]["message"]
sig = Digest::MD5.hexdigest(message + SECRET)
uri = URI.parse("http://localhost:8901/send")
Net::HTTP.post_form(uri,
{"data" => message, "sig" => sig})
'ok'
end
Add signature to request
86. If `secret` is in your
config, all requests to
`/send` must be signed