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.
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/puppeteer/web_socket.rb', line 59
def initialize(url:, max_payload_size:)
@impl = DriverImpl.new(url)
@driver = ::WebSocket::Driver.client(@impl, max_length: max_payload_size)
@driver.('User-Agent', "Puppeteer #{Puppeteer::VERSION}")
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
110
111
112
113
114
115
|
# File 'lib/puppeteer/web_socket.rb', line 110
def close(code: 1000, reason: "")
return if @ready_state >= STATE_CLOSING
@ready_state = STATE_CLOSING
@driver.close(reason, code)
@impl.dispose
end
|
#on_close(&block) ⇒ Object
122
123
124
|
# File 'lib/puppeteer/web_socket.rb', line 122
def on_close(&block)
@on_close = block
end
|
#on_error(&block) ⇒ Object
127
128
129
|
# File 'lib/puppeteer/web_socket.rb', line 127
def on_error(&block)
@on_error = block
end
|
#on_message(&block) ⇒ Object
131
132
133
|
# File 'lib/puppeteer/web_socket.rb', line 131
def on_message(&block)
@on_message = block
end
|
#on_open(&block) ⇒ Object
117
118
119
|
# File 'lib/puppeteer/web_socket.rb', line 117
def on_open(&block)
@on_open = block
end
|
#send_text(message) ⇒ Object
105
106
107
108
|
# File 'lib/puppeteer/web_socket.rb', line 105
def send_text(message)
return if @ready_state >= STATE_CLOSING
@driver.text(message)
end
|