lib/faye/websocket/client.rb in faye-websocket-0.1.2 vs lib/faye/websocket/client.rb in faye-websocket-0.2.0

- old
+ new

@@ -1,17 +1,18 @@ module Faye class WebSocket class Client include API - attr_reader :uri + attr_reader :protocol, :uri - def initialize(url) - @parser = Protocol8Parser.new(self, :masking => true) + def initialize(url, protocols = nil) + @parser = HybiParser.new(self, :masking => true, :protocols => protocols) @url = url @uri = URI.parse(url) + @protocol = '' @ready_state = CONNECTING @buffered_amount = 0 port = @uri.port || (@uri.scheme == 'wss' ? 443 : 80) @@ -37,19 +38,20 @@ when CONNECTING then @message += @handshake.parse(data) return unless @handshake.complete? if @handshake.valid? + @protocol = @handshake.protocol || '' @ready_state = OPEN event = Event.new('open') event.init_event('open', false, false) dispatch_event(event) receive_data(@message) else @ready_state = CLOSED - event = Event.new('error') - event.init_event('error', false, false) + event = Event.new('close', :code => 1006, :reason => '') + event.init_event('close', false, false) dispatch_event(event) end when OPEN, CLOSING then @parser.parse(data)