web_socket.rb 604 字节
Newer Older
1
require 'faye/websocket'
2

3 4
module ActionCable
  module Connection
5
    # Decorate the Faye::WebSocket with helpers we need.
6
    class WebSocket
7 8 9 10
      delegate :rack_response, :close, :on, to: :websocket

      def initialize(env)
        @websocket = Faye::WebSocket.websocket?(env) ? Faye::WebSocket.new(env) : nil
11 12 13 14 15 16 17
      end

      def possible?
        websocket
      end

      def alive?
18
        websocket && websocket.ready_state == Faye::WebSocket::API::OPEN
19 20 21
      end

      def transmit(data)
22
        websocket.send data
23 24
      end

A
Arun Agrawal 已提交
25
      protected
26 27 28 29
        attr_reader :websocket
    end
  end
end