Sha256: 5ae9fae5d737550f25ec46182127b1a6d326654b80394c9fb76805f47f848623

Contents?: true

Size: 709 Bytes

Versions: 6

Compression:

Stored size: 709 Bytes

Contents

module WebsocketRails
  module ConnectionAdapters
    class WebSocket < Base

      def self.accepts?(env)
        Faye::WebSocket.websocket?( env )
      end

      def initialize(request, dispatcher)
        super
        @connection = Faye::WebSocket.new(request.env)
        @connection.onmessage = method(:on_message)
        @connection.onerror   = method(:on_error)
        @connection.onclose   = method(:on_close)
        on_open
      end

      def send(message)
        @connection.send message
      end

      def on_message(event)
        data = event.respond_to?(:data) ? event.data : event
        super data
      end

      def close!
        @connection.close
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
websocket-rails-0.6.2 lib/websocket_rails/connection_adapters/web_socket.rb
websocket-rails-0.6.1 lib/websocket_rails/connection_adapters/web_socket.rb
websocket-rails-0.6.0 lib/websocket_rails/connection_adapters/web_socket.rb
websocket-rails-0.5.0 lib/websocket_rails/connection_adapters/web_socket.rb
websocket-rails-0.4.9 lib/websocket_rails/connection_adapters/web_socket.rb
websocket-rails-0.4.8 lib/websocket_rails/connection_adapters/web_socket.rb