Class: Selenium::WebDriver::Network

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/selenium/webdriver/common/network.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bridge) ⇒ Network

Returns a new instance of Network.

[View source]

32
33
34
35
# File 'lib/selenium/webdriver/common/network.rb', line 32

def initialize(bridge)
  @network = BiDi::Network.new(bridge.bidi)
  @callbacks = {}
end

Instance Attribute Details

#callbacksObject (readonly)

Returns the value of attribute callbacks.


27
28
29
# File 'lib/selenium/webdriver/common/network.rb', line 27

def callbacks
  @callbacks
end

#networkObject (readonly) Also known as: bidi

Returns the value of attribute network.


27
28
29
# File 'lib/selenium/webdriver/common/network.rb', line 27

def network
  @network
end

Instance Method Details

#add_authentication_handler(username = nil, password = nil, *filter, pattern_type: nil, &block) ⇒ Object

[View source]

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/selenium/webdriver/common/network.rb', line 47

def add_authentication_handler(username = nil, password = nil, *filter, pattern_type: nil, &block)
  selected_block =
    if username && password
      proc { |auth| auth.authenticate(username, password) }
    else
      block
    end

  add_handler(
    :auth_required,
    BiDi::Network::PHASES[:auth_required],
    BiDi::InterceptedAuth,
    filter,
    pattern_type: pattern_type,
    &selected_block
  )
end

#add_request_handler(*filter, pattern_type: nil, &block) ⇒ Object

[View source]

65
66
67
68
69
70
71
72
73
74
# File 'lib/selenium/webdriver/common/network.rb', line 65

def add_request_handler(*filter, pattern_type: nil, &block)
  add_handler(
    :before_request,
    BiDi::Network::PHASES[:before_request],
    BiDi::InterceptedRequest,
    filter,
    pattern_type: pattern_type,
    &block
  )
end

#add_response_handler(*filter, pattern_type: nil, &block) ⇒ Object

[View source]

76
77
78
79
80
81
82
83
84
85
# File 'lib/selenium/webdriver/common/network.rb', line 76

def add_response_handler(*filter, pattern_type: nil, &block)
  add_handler(
    :response_started,
    BiDi::Network::PHASES[:response_started],
    BiDi::InterceptedResponse,
    filter,
    pattern_type: pattern_type,
    &block
  )
end

#clear_handlersObject

[View source]

43
44
45
# File 'lib/selenium/webdriver/common/network.rb', line 43

def clear_handlers
  callbacks.each_key { |id| remove_handler(id) }
end

#remove_handler(id) ⇒ Object

[View source]

37
38
39
40
41
# File 'lib/selenium/webdriver/common/network.rb', line 37

def remove_handler(id)
  intercept = callbacks[id]
  network.remove_intercept(intercept['intercept'])
  callbacks.delete(id)
end