class Faye::WebSocket::Client
Attributes
headers[R]
status[R]
Public Class Methods
new(url, protocols = nil, options = {})
click to toggle source
Calls superclass method
Faye::WebSocket::API::new
# File lib/faye/websocket/client.rb, line 9 def initialize(url, protocols = nil, options = {}) @url = url @uri = URI.parse(url) @driver = ::WebSocket::Driver.client(self, :max_length => options[:max_length], :protocols => protocols) [:open, :error].each do |event| @driver.on(event) do @headers = @driver.headers @status = @driver.status end end super(options) port = @uri.port || (@uri.scheme == 'wss' ? 443 : 80) EventMachine.connect(@uri.host, port, Connection) do |conn| @stream = conn conn.parent = self end rescue => error event = Event.new('error', :message => "Network error: #{url}: #{error.message}") event.init_event('error', false, false) dispatch_event(event) finalize(error.message, 1006) end
Private Instance Methods
on_connect()
click to toggle source
# File lib/faye/websocket/client.rb, line 37 def on_connect @stream.start_tls(:ssl_version => :TLSv1) if @uri.scheme == 'wss' @driver.start end