Sha256: b38dd54c1fca13ab3d372bc3182482886c6e10241b369a65b6d141b8392d7749

Contents?: true

Size: 1.14 KB

Versions: 51

Compression:

Stored size: 1.14 KB

Contents

class Puppeteer::WebSocketTransport
  # @param {string} url
  # @return [Puppeteer::WebSocketTransport]
  def self.create(url)
    ws = Puppeteer::WebSocket.new(
      url: url,
      max_payload_size: 256 * 1024 * 1024, # 256MB
    )
    (resolvable_future do |future|
      ws.on_open do
        future.fulfill(Puppeteer::WebSocketTransport.new(ws))
      end
      ws.on_error do |error_message|
        future.reject(Puppeteer::WebSocket::TransportError.new(error_message))
      end
    end).value!
  end

  # @param {!WebSocket::Driver} web_socket
  def initialize(web_socket)
    @ws = web_socket
    @ws.on_message do |data|
      @on_message&.call(data)
    end
    @ws.on_close do |reason, code|
      @on_close&.call(reason, code)
    end
    @ws.on_error do |error|
      # Silently ignore all errors - we don't know what to do with them.
    end
  end

  # @param message [String]
  def send_text(message)
    @ws.send_text(message)
  end

  def close
    @ws.close
  rescue EOFError
    # ignore EOLError. The connection is already closed.
  end

  def on_close(&block)
    @on_close = block
  end

  def on_message(&block)
    @on_message = block
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
puppeteer-ruby-0.45.6 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.5 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.4 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.3 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.2 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.2.alpha2 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.2.alpha1 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.1 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.45.0 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.44.3 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.44.2 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.44.1 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.44.0 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.43.1 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.43.0 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.42.0 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.41.0 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.40.7 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.40.6 lib/puppeteer/web_socket_transport.rb
puppeteer-ruby-0.40.5 lib/puppeteer/web_socket_transport.rb