class Selenium::WebDriver::BiDi::Network

Implements the Navigation Module of the WebDriver-BiDi specification Continue to use functionality from existing ‘driver.navigate` method

@api private

Constants

EVENTS
PHASES

Public Class Methods

new(bidi) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 45
def initialize(bidi)
  @bidi = bidi
end

Public Instance Methods

add_intercept(phases: [], contexts: nil, url_patterns: nil, pattern_type: :string) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 49
def add_intercept(phases: [], contexts: nil, url_patterns: nil, pattern_type: :string)
  url_patterns = url_patterns && pattern_type ? UrlPattern.format_pattern(url_patterns, pattern_type) : nil
  @bidi.send_cmd('network.addIntercept',
                 phases: phases,
                 contexts: contexts,
                 urlPatterns: url_patterns)
end
cancel_auth(request_id) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 82
def cancel_auth(request_id)
  @bidi.send_cmd(
    'network.continueWithAuth',
    request: request_id,
    action: 'cancel'
  )
end
continue_request(**args) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 90
def continue_request(**args)
  args = {
    request: args[:id],
    body: args[:body],
    cookies: args[:cookies],
    headers: args[:headers],
    method: args[:method],
    url: args[:url]
  }.compact

  @bidi.send_cmd('network.continueRequest', **args)
end
continue_response(**args) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 110
def continue_response(**args)
  args = {
    request: args[:id],
    cookies: args[:cookies],
    credentials: args[:credentials],
    headers: args[:headers],
    reasonPhrase: args[:reason],
    statusCode: args[:status]
  }.compact

  @bidi.send_cmd('network.continueResponse', **args)
end
continue_with_auth(request_id, username, password) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 61
def continue_with_auth(request_id, username, password)
  @bidi.send_cmd(
    'network.continueWithAuth',
    request: request_id,
    action: 'provideCredentials',
    credentials: {
      type: 'password',
      username: username,
      password: password
    }
  )
end
continue_without_auth(request_id) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 74
def continue_without_auth(request_id)
  @bidi.send_cmd(
    'network.continueWithAuth',
    request: request_id,
    action: 'default'
  )
end
fail_request(request_id) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 103
def fail_request(request_id)
  @bidi.send_cmd(
    'network.failRequest',
    request: request_id
  )
end
on(event, &block) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 140
def on(event, &block)
  event = EVENTS[event] if event.is_a?(Symbol)
  @bidi.add_callback(event, &block)
  @bidi.session.subscribe(event)
end
provide_response(**args) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 123
def provide_response(**args)
  args = {
    request: args[:id],
    body: args[:body],
    cookies: args[:cookies],
    headers: args[:headers],
    reasonPhrase: args[:reason],
    statusCode: args[:status]
  }.compact

  @bidi.send_cmd('network.provideResponse', **args)
end
remove_intercept(intercept) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 57
def remove_intercept(intercept)
  @bidi.send_cmd('network.removeIntercept', intercept: intercept)
end
set_cache_behavior(behavior, *contexts) click to toggle source
# File lib/selenium/webdriver/bidi/network.rb, line 136
def set_cache_behavior(behavior, *contexts)
  @bidi.send_cmd('network.setCacheBehavior', cacheBehavior: behavior, contexts: contexts)
end