Class: Puppeteer::WebSocket
  
  
  
  
  
    - Inherits:
- 
      Object
      
        
          - Object
- Puppeteer::WebSocket
 show all
    - Defined in:
- lib/puppeteer/web_socket.rb
 
Overview
  
Defined Under Namespace
  
    
  
    
      Classes: DriverImpl, TransportError
    
  
  
    
      Constant Summary
      collapse
    
    
      
        - STATE_CONNECTING =
          
        
- 0 
- STATE_OPENED =
          
        
- 1 
- STATE_CLOSING =
          
        
- 2 
- STATE_CLOSED =
          
        
- 3 
      Instance Method Summary
      collapse
    
    
  
  Constructor Details
  
    
  
  
    #initialize(url:, max_payload_size:)  ⇒ WebSocket 
  
  
  
  
    
Returns a new instance of WebSocket.
   
 
  
  
    | 
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 | # File 'lib/puppeteer/web_socket.rb', line 35
def initialize(url:, max_payload_size:)
  @impl = DriverImpl.new(url)
  @driver = ::WebSocket::Driver.client(@impl, max_length: max_payload_size)
  setup
  @driver.start
  Thread.new do
    wait_for_data until @ready_state >= STATE_CLOSING
  rescue EOFError
            if @ready_state < STATE_CLOSING
      handle_on_close(reason: 'Going Away', code: 1001)
    end
  end
end | 
 
  
 
  
    Instance Method Details
    
      
  
  
    #close(code: 1000, reason: "")  ⇒ Object 
  
  
  
  
    | 
85
86
87
88
89 | # File 'lib/puppeteer/web_socket.rb', line 85
def close(code: 1000, reason: "")
  return if @ready_state >= STATE_CLOSING
  @ready_state = STATE_CLOSING
  @driver.close(reason, code)
end | 
 
    
      
  
  
    #on_close(&block)  ⇒ Object 
  
  
  
  
    | 
96
97
98 | # File 'lib/puppeteer/web_socket.rb', line 96
def on_close(&block)
  @on_close = block
end | 
 
    
      
  
  
    #on_error(&block)  ⇒ Object 
  
  
  
  
    | 
101
102
103 | # File 'lib/puppeteer/web_socket.rb', line 101
def on_error(&block)
  @on_error = block
end | 
 
    
      
  
  
    #on_message(&block)  ⇒ Object 
  
  
  
  
    | 
105
106
107 | # File 'lib/puppeteer/web_socket.rb', line 105
def on_message(&block)
  @on_message = block
end | 
 
    
      
  
  
    #on_open(&block)  ⇒ Object 
  
  
  
  
    | 
91
92
93 | # File 'lib/puppeteer/web_socket.rb', line 91
def on_open(&block)
  @on_open = block
end | 
 
    
      
  
  
    #send_text(message)  ⇒ Object 
  
  
  
  
    | 
80
81
82
83 | # File 'lib/puppeteer/web_socket.rb', line 80
def send_text(message)
  return if @ready_state >= STATE_CLOSING
  @driver.text(message)
end |