puffing-billy 3.0.3 → 3.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +15 -0
- data/lib/billy/browsers/capybara.rb +16 -1
- data/lib/billy/config.rb +3 -1
- data/lib/billy/version.rb +1 -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: 16bed8180bba7ace31cc3516c9b30bddbce8531cfe5f4a1effd93572219f2952
|
4
|
+
data.tar.gz: d47667758e923263a1e98e2bb60c6ab1bf3962fa38722259addc4e59b4af129e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7a47d5b299bb1b5ba9b6979317e383b498116cabfb6cf8bc924c75b0a2fd97684beafac596ee728b7c393b74f92229090b13fba5a06140846992c7234a50f4f
|
7
|
+
data.tar.gz: b7bb0f1fb51747f935c26fc3c4c455900c5a0971676ce4bba1ee8ddfe87740f7e5771ed529b22735687f15ad423da436dc8f7fd940e7179fb4d62e609641d669
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
v3.0.4, 2022-08-07
|
2
|
+
------------------
|
3
|
+
* Adds a configurable Cuprite driver [#327](https://github.com/oesmith/puffing-billy/pull/327)
|
4
|
+
|
1
5
|
v3.0.3, 2022-05-31
|
2
6
|
-------------------
|
3
7
|
* Only calculate cache scope and key if request is cacheable [#324](https://github.com/oesmith/puffing-billy/pull/324)
|
data/README.md
CHANGED
@@ -65,6 +65,7 @@ Capybara.javascript_driver = :selenium_billy # Uses Firefox
|
|
65
65
|
# Capybara.javascript_driver = :apparition_billy
|
66
66
|
# Capybara.javascript_driver = :webkit_billy
|
67
67
|
# Capybara.javascript_driver = :poltergeist_billy
|
68
|
+
# Capybara.javascript_driver = :cuprite_billy
|
68
69
|
```
|
69
70
|
|
70
71
|
> __Note__: `:poltergeist_billy` doesn't support proxying any localhosts, so you must use
|
@@ -154,6 +155,20 @@ And /^a stub for google$/ do
|
|
154
155
|
end
|
155
156
|
```
|
156
157
|
|
158
|
+
### Setup remote Chrome
|
159
|
+
|
160
|
+
In the case you are using a Chrome instance, running on another machine, or in
|
161
|
+
another Docker container, you need to :
|
162
|
+
* Fix the Billy proxy host and port
|
163
|
+
* Passes the `--proxy-server=<billy host>:<billy port>`
|
164
|
+
|
165
|
+
#### WebSockets
|
166
|
+
|
167
|
+
Puffing billy doesn't support websockets, so if you are using them,
|
168
|
+
or ActionCable for the Ruby On Rails developers, you can tell Chrome to bypass
|
169
|
+
the proxy for websockets by adding the flag `--proxy-bypass-list=ws://*` to
|
170
|
+
your remote chrome intance or Docker container.
|
171
|
+
|
157
172
|
## Minitest Usage
|
158
173
|
|
159
174
|
Please see [this link](https://gist.github.com/sauy7/1b081266dd453a1b737b) for
|
@@ -8,7 +8,8 @@ module Billy
|
|
8
8
|
poltergeist: 'capybara/poltergeist',
|
9
9
|
webkit: 'capybara/webkit',
|
10
10
|
selenium: 'selenium/webdriver',
|
11
|
-
apparition: 'capybara/apparition'
|
11
|
+
apparition: 'capybara/apparition',
|
12
|
+
cuprite: 'capybara/cuprite'
|
12
13
|
}
|
13
14
|
|
14
15
|
def self.register_drivers
|
@@ -108,6 +109,20 @@ module Billy
|
|
108
109
|
end
|
109
110
|
end
|
110
111
|
|
112
|
+
def self.register_cuprite_driver
|
113
|
+
driver_otions = {
|
114
|
+
browser_options: {
|
115
|
+
'ignore-certificate-errors' => nil
|
116
|
+
}
|
117
|
+
}.deep_merge(Billy.config.cuprite_options)
|
118
|
+
|
119
|
+
::Capybara.register_driver :cuprite_billy do |app|
|
120
|
+
::Capybara::Cuprite::Driver.new(app, **driver_otions).tap do |driver|
|
121
|
+
driver.set_proxy(Billy.proxy.host, Billy.proxy.port)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
111
126
|
def self.build_selenium_options_for_firefox
|
112
127
|
profile = Selenium::WebDriver::Firefox::Profile.new.tap do |prof|
|
113
128
|
prof.proxy = Selenium::WebDriver::Proxy.new(
|
data/lib/billy/config.rb
CHANGED
@@ -11,7 +11,8 @@ module Billy
|
|
11
11
|
:non_whitelisted_requests_disabled, :cache_path, :certs_path, :verify_peer, :proxy_host, :proxy_port, :proxied_request_inactivity_timeout,
|
12
12
|
:proxied_request_connect_timeout, :dynamic_jsonp, :dynamic_jsonp_keys, :dynamic_jsonp_callback_name, :merge_cached_responses_whitelist,
|
13
13
|
:strip_query_params, :proxied_request_host, :proxied_request_port, :cache_request_body_methods, :after_cache_handles_request,
|
14
|
-
:cache_simulates_network_delays, :cache_simulates_network_delay_time, :record_requests, :record_stub_requests, :use_ignore_params,
|
14
|
+
:cache_simulates_network_delays, :cache_simulates_network_delay_time, :record_requests, :record_stub_requests, :use_ignore_params,
|
15
|
+
:before_handle_request, :cuprite_options
|
15
16
|
|
16
17
|
def initialize
|
17
18
|
@logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
|
@@ -53,6 +54,7 @@ module Billy
|
|
53
54
|
@record_stub_requests = false
|
54
55
|
@use_ignore_params = true
|
55
56
|
@before_handle_request = nil
|
57
|
+
@cuprite_options = {}
|
56
58
|
end
|
57
59
|
end
|
58
60
|
|
data/lib/billy/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puffing-billy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Olly Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|