puppeteer-ruby 0.50.0.alpha6 → 0.50.0.alpha8

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: 24705930799f6f57d44adea7741837c3e5af927f42990f43c1194e0c71a8b813
4
- data.tar.gz: 68a01d815bc7d6fe2e7223d08a44c256274469bb5e665a98fb86da37ee202445
3
+ metadata.gz: cc07137db57af2ee149486e37d5ee9268baf3f928cd2e51e8e2bfb733bf3aaf3
4
+ data.tar.gz: 36f6b3d362e99c2c5b4a52a2039264b078f605e0ba249acbf8116b1706ec724a
5
5
  SHA512:
6
- metadata.gz: 1c4fc76a84ee3da78f2bca282c0c7b799dffc1bc3160413c3fe32f7053bc007b614b42f4a0867db8e6a7fb10ffb9855d171c311d4a77d0127e7cc5a89737e247
7
- data.tar.gz: 31602ed31b3710ba50b4f7b1594edc32ac3f18b1203448d8b4ed24424ff9c068d0d96a7578759d3419574416f7bcc7d9aef22b630f7f9d7e6baa3259c3479af0
6
+ metadata.gz: 1e89b2eed4753830edb5dcd8c54e6d923a24fd802c2e57bf4c7c92ebf9e5e620d4fda0a1096511177e5ba689785aa0ff8d56d2c024d8469bd75a729df738e8fe
7
+ data.tar.gz: 32cd0c2eb2e677c661b74801d6922a3876a3454557f0d12f7468708951f44e789404d389d041dfed17cada032101e5b4efc513fb9cf41d93ee1a6b130975b4b9
@@ -339,6 +339,21 @@ class Puppeteer::NetworkManager
339
339
  apply_to_clients { |client| apply_protocol_cache_disabled(client) }
340
340
  end
341
341
 
342
+ # Handle intercepted requests in a child task to avoid blocking the CDP receive loop.
343
+ private def dispatch_intercepted_request(event, fetch_request_id, client:)
344
+ if Async::Task.current?
345
+ Async do
346
+ begin
347
+ handle_request(event, fetch_request_id, client: client)
348
+ rescue => err
349
+ debug_puts(err)
350
+ end
351
+ end
352
+ else
353
+ handle_request(event, fetch_request_id, client: client)
354
+ end
355
+ end
356
+
342
357
  private def handle_request_will_be_sent(event, client)
343
358
  network_request_id = event['requestId']
344
359
  event_url = event.dig('request', 'url')
@@ -364,7 +379,7 @@ class Puppeteer::NetworkManager
364
379
  if_present(@network_event_manager.get_request_paused(network_request_id)) do |request_paused_event|
365
380
  fetch_request_id = request_paused_event['requestId']
366
381
  patch_request_event_headers(event, request_paused_event)
367
- handle_request(event, fetch_request_id, client: client)
382
+ dispatch_intercepted_request(event, fetch_request_id, client: client)
368
383
  @network_event_manager.forget_request_paused(network_request_id)
369
384
  end
370
385
 
@@ -180,7 +180,7 @@ module Puppeteer
180
180
  Async::Task.current.sleep(0.01)
181
181
  end
182
182
  end
183
- rescue Puppeteer::Error
183
+ rescue ::Puppeteer::Error
184
184
  # Runner closed while waiting; ignore.
185
185
  end
186
186
 
@@ -1,3 +1,3 @@
1
1
  module Puppeteer
2
- VERSION = '0.50.0.alpha6'
2
+ VERSION = '0.50.0.alpha8'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppeteer-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.50.0.alpha6
4
+ version: 0.50.0.alpha8
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki