From 87cd1e875f3ba51f65c47a3030f747d167054967 Mon Sep 17 00:00:00 2001 From: James Coglan Date: Tue, 22 Nov 2011 19:05:20 +0000 Subject: [PATCH] Add SSL capability to examples. --- examples/client.rb | 11 +++++++++-- examples/server.rb | 15 ++++++++++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/examples/client.rb b/examples/client.rb index d7cd0a8..beebcbb 100644 --- a/examples/client.rb +++ b/examples/client.rb @@ -1,10 +1,17 @@ require 'rubygems' require File.expand_path('../../lib/faye/websocket', __FILE__) +require 'eventmachine' -port = ARGV[0] || 7000 +port = ARGV[0] || 7000 +secure = ARGV[1] == 'ssl' EM.run { - socket = Faye::WebSocket::Client.new("ws://localhost:#{port}/") + scheme = secure ? 'wss' : 'ws' + url = "#{scheme}://localhost:#{port}/" + + puts "Connecting to #{url}" + + socket = Faye::WebSocket::Client.new(url) socket.onopen = lambda do |event| p [:open] diff --git a/examples/server.rb b/examples/server.rb index 59561f0..beee632 100644 --- a/examples/server.rb +++ b/examples/server.rb @@ -1,9 +1,10 @@ require 'rubygems' require File.expand_path('../../lib/faye/websocket', __FILE__) require 'rack' -require 'thin' +require 'eventmachine' -port = ARGV[0] || 7000 +port = ARGV[0] || 7000 +secure = ARGV[1] == 'ssl' app = lambda do |env| if env['HTTP_UPGRADE'] @@ -26,6 +27,14 @@ end EM.run { thin = Rack::Handler.get('thin') - thin.run(app, :Port => port) + thin.run(app, :Port => port) do |server| + if secure + server.ssl = true + server.ssl_options = { + :private_key_file => File.expand_path('../../spec/server.key', __FILE__), + :cert_chain_file => File.expand_path('../../spec/server.crt', __FILE__) + } + end + end }