puppeteer-ruby 0.32.0 → 0.32.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -1
- data/docs/api_coverage.md +1 -1
- data/lib/puppeteer/browser.rb +0 -1
- data/lib/puppeteer/version.rb +1 -1
- data/lib/puppeteer/web_socket.rb +19 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f7d2798e0f07a51bd53367bcfc86ada958490b9122c44fb85c2b3732000d402
|
4
|
+
data.tar.gz: 7ded942ec52ace5eaed09898167e4bc46810d41b483c90331da849c4654486ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
data/lib/puppeteer/browser.rb
CHANGED
@@ -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
|
data/lib/puppeteer/version.rb
CHANGED
data/lib/puppeteer/web_socket.rb
CHANGED
@@ -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 =
|
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.
|
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-
|
11
|
+
date: 2021-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|