diff --git a/lib/puppeteer/network_event_manager.rb b/lib/puppeteer/network_event_manager.rb index 902ec51..ba49a84 100644 --- a/lib/puppeteer/network_event_manager.rb +++ b/lib/puppeteer/network_event_manager.rb @@ -119,4 +119,8 @@ def enqueue_event_group(network_request_id, queued_event_group) def get_queued_event_group(network_request_id) @queued_event_group_map[network_request_id] end + + def forget_queued_event_group(network_request_id) + @queued_event_group_map.delete(network_request_id) + end end diff --git a/lib/puppeteer/network_manager.rb b/lib/puppeteer/network_manager.rb index 59b8320..e248f7d 100644 --- a/lib/puppeteer/network_manager.rb +++ b/lib/puppeteer/network_manager.rb @@ -395,6 +395,7 @@ def request_interception=(enabled) # We may have skipped response and loading events because we didn't have # this ExtraInfo event yet. If so, emit those events now. if_present(@network_event_manager.get_queued_event_group(event['requestId'])) do |queued_events| + @network_event_manager.forget_queued_event_group(event['requestId']) emit_response_event(queued_events.response_received_event, event) if_present(queued_events.loading_finished_event) do |loading_finished_event| emit_loading_finished(loading_finished_event)