puppeteer-ruby 0.32.0 → 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ac3b08e88fc4d18d756dd760d8960783498e4fb84c23b02e248471de8097636
4
- data.tar.gz: b9c14719e9b13c56eb529cc58b71648985245158b4c3edffa9a6cff4f191463a
3
+ metadata.gz: 9f7d2798e0f07a51bd53367bcfc86ada958490b9122c44fb85c2b3732000d402
4
+ data.tar.gz: 7ded942ec52ace5eaed09898167e4bc46810d41b483c90331da849c4654486ee
5
5
  SHA512:
6
- metadata.gz: 103c5d80b62d51bfa877884627ef9544a05cc901abaa8386f877e9eb64da58438e540a6e263dc47f176aca2709d0e4f43a2a43bc7922226cbd428b04a3f23d6d
7
- data.tar.gz: a7adb58a5747c563c8f55041e007516a497c7721d25ec69a3ec20a0e75ce9016362aa0f1f468e4c78a6cbbece37964e71d90c7bc5b8c1b7aa0cfdd324845de27
6
+ metadata.gz: 974171fa712907022449619056dedf0560501b34a388db71a948b7e3bdbdd4c783201810563d0e72b121c076d613a7c380d774bf8e2fc93350a4d0c9136d9ce3
7
+ data.tar.gz: 360be9be4c17223a36812abdbaf1f1fe9fbd8f020d2a1aa079f4019ac4ac6be600cbeb6dd42c28764b64306f673aacd295bdcb585594511b5302ff66e954405d
data/CHANGELOG.md CHANGED
@@ -1,7 +1,13 @@
1
- ### master [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.32.0...master)]
1
+ ### master [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.32.1...master)]
2
2
 
3
3
  * xxx
4
4
 
5
+ ### 0.32.1 [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.32.0...0.32.1)]
6
+
7
+ Bugfix:
8
+
9
+ * Fix WebSocket to work with `wss://...` endpoint (ex. browserless.io)
10
+
5
11
  ### 0.32.0 [[diff](https://github.com/YusukeIwaki/puppeteer-ruby/compare/0.31.6...0.32.0)]
6
12
 
7
13
  New features:
data/docs/api_coverage.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # API coverages
2
2
  - Puppeteer version: v8.0.0
3
- - puppeteer-ruby version: 0.32.0
3
+ - puppeteer-ruby version: 0.32.1
4
4
 
5
5
  ## Puppeteer
6
6
 
@@ -197,7 +197,6 @@ class Puppeteer::Browser
197
197
  # D, [2021-04-07T03:00:10.142396 #187] DEBUG -- : RECV << {"id"=>3, "result"=>{"targetId"=>"A518447C415A1A3E1A8979454A155632"}}
198
198
  # D, [2021-04-07T03:00:10.145360 #187] DEBUG -- : RECV << {"method"=>"Target.targetCreated", "params"=>{"targetInfo"=>{"targetId"=>"A518447C415A1A3E1A8979454A155632", "type"=>"page", "title"=>"", "url"=>"", "attached"=>false, "canAccessOpener"=>false, "browserContextId"=>"56A86FC3391B50180CF9A6450A0D8C21"}}}
199
199
  # This is just a workaround logic...
200
- Rollbar.info("Workaround of YusukeIwaki/puppeteer-ruby#91")
201
200
  @wait_for_creating_targets[target_id] = resolvable_future
202
201
  target = await @wait_for_creating_targets[target_id]
203
202
  end
@@ -1,3 +1,3 @@
1
1
  module Puppeteer
2
- VERSION = '0.32.0'
2
+ VERSION = '0.32.1'
3
3
  end
@@ -1,3 +1,4 @@
1
+ require 'openssl'
1
2
  require 'socket'
2
3
  require 'websocket/driver'
3
4
 
@@ -5,11 +6,28 @@ require 'websocket/driver'
5
6
  # ref: https://github.com/cavalle/chrome_remote/blob/master/lib/chrome_remote/web_socket_client.rb
6
7
  class Puppeteer::WebSocket
7
8
  class DriverImpl # providing #url, #write(string)
9
+ class SecureSocketFactory
10
+ def initialize(host, port)
11
+ @host = host
12
+ @port = port || 443
13
+ end
14
+
15
+ def create
16
+ tcp_socket = TCPSocket.new(@host, @port)
17
+ OpenSSL::SSL::SSLSocket.new(tcp_socket).tap(&:connect)
18
+ end
19
+ end
20
+
8
21
  def initialize(url)
9
22
  @url = url
10
23
 
11
24
  endpoint = URI.parse(url)
12
- @socket = TCPSocket.new(endpoint.host, endpoint.port)
25
+ @socket =
26
+ if endpoint.scheme == 'wss'
27
+ SecureSocketFactory.new(endpoint.host, endpoint.port).create
28
+ else
29
+ TCPSocket.new(endpoint.host, endpoint.port)
30
+ end
13
31
  end
14
32
 
15
33
  attr_reader :url
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppeteer-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.0
4
+ version: 0.32.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-07 00:00:00.000000000 Z
11
+ date: 2021-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby