Class: Ferrum::Network::InterceptedRequest
- Inherits:
-
Object
- Object
- Ferrum::Network::InterceptedRequest
- Defined in:
- lib/ferrum/network/intercepted_request.rb
Instance Attribute Summary collapse
-
#frame_id ⇒ Object
Returns the value of attribute frame_id.
-
#network_id ⇒ Object
Returns the value of attribute network_id.
-
#request_id ⇒ Object
Returns the value of attribute request_id.
-
#resource_type ⇒ Object
Returns the value of attribute resource_type.
-
#status ⇒ Object
Returns the value of attribute status.
Instance Method Summary collapse
- #abort ⇒ Object
- #continue(**options) ⇒ Object
- #headers ⇒ Object
- #initial_priority ⇒ Object
-
#initialize(page, params) ⇒ InterceptedRequest
constructor
A new instance of InterceptedRequest.
- #inspect ⇒ Object
- #match?(regexp) ⇒ Boolean
- #method ⇒ Object
- #navigation_request? ⇒ Boolean
- #referrer_policy ⇒ Object
- #respond(**options) ⇒ Object
- #status?(value) ⇒ Boolean
- #url ⇒ Object
Constructor Details
#initialize(page, params) ⇒ InterceptedRequest
Returns a new instance of InterceptedRequest.
10 11 12 13 14 15 16 17 18 |
# File 'lib/ferrum/network/intercepted_request.rb', line 10 def initialize(page, params) @status = nil @page, @params = page, params @request_id = params["requestId"] @frame_id = params["frameId"] @resource_type = params["resourceType"] @request = params["request"] @network_id = params["networkId"] end |
Instance Attribute Details
#frame_id ⇒ Object
Returns the value of attribute frame_id.
8 9 10 |
# File 'lib/ferrum/network/intercepted_request.rb', line 8 def frame_id @frame_id end |
#network_id ⇒ Object
Returns the value of attribute network_id.
8 9 10 |
# File 'lib/ferrum/network/intercepted_request.rb', line 8 def network_id @network_id end |
#request_id ⇒ Object
Returns the value of attribute request_id.
8 9 10 |
# File 'lib/ferrum/network/intercepted_request.rb', line 8 def request_id @request_id end |
#resource_type ⇒ Object
Returns the value of attribute resource_type.
8 9 10 |
# File 'lib/ferrum/network/intercepted_request.rb', line 8 def resource_type @resource_type end |
#status ⇒ Object
Returns the value of attribute status.
8 9 10 |
# File 'lib/ferrum/network/intercepted_request.rb', line 8 def status @status end |
Instance Method Details
#abort ⇒ Object
54 55 56 57 |
# File 'lib/ferrum/network/intercepted_request.rb', line 54 def abort @status = :aborted @page.command("Fetch.failRequest", requestId: request_id, errorReason: "BlockedByClient") end |
#continue(**options) ⇒ Object
48 49 50 51 52 |
# File 'lib/ferrum/network/intercepted_request.rb', line 48 def continue(**) = .merge(requestId: request_id) @status = :continued @page.command("Fetch.continueRequest", **) end |
#headers ⇒ Object
67 68 69 |
# File 'lib/ferrum/network/intercepted_request.rb', line 67 def headers @request["headers"] end |
#initial_priority ⇒ Object
71 72 73 |
# File 'lib/ferrum/network/intercepted_request.rb', line 71 def initial_priority @request["initialPriority"] end |
#inspect ⇒ Object
79 80 81 |
# File 'lib/ferrum/network/intercepted_request.rb', line 79 def inspect %(#<#{self.class} @request_id=#{@request_id.inspect} @frame_id=#{@frame_id.inspect} @resource_type=#{@resource_type.inspect} @request=#{@request.inspect}>) end |
#match?(regexp) ⇒ Boolean
28 29 30 |
# File 'lib/ferrum/network/intercepted_request.rb', line 28 def match?(regexp) !!url.match(regexp) end |
#method ⇒ Object
63 64 65 |
# File 'lib/ferrum/network/intercepted_request.rb', line 63 def method @request["method"] end |
#navigation_request? ⇒ Boolean
24 25 26 |
# File 'lib/ferrum/network/intercepted_request.rb', line 24 def @params["isNavigationRequest"] end |
#referrer_policy ⇒ Object
75 76 77 |
# File 'lib/ferrum/network/intercepted_request.rb', line 75 def referrer_policy @request["referrerPolicy"] end |
#respond(**options) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/ferrum/network/intercepted_request.rb', line 32 def respond(**) has_body = .has_key?(:body) headers = has_body ? { "content-length" => .fetch(:body, "").length } : {} headers = headers.merge(.fetch(:responseHeaders, {})) = {responseCode: 200}.merge() = .merge({ requestId: request_id, responseHeaders: header_array(headers), }) = .merge(body: Base64.strict_encode64(.fetch(:body, ""))) if has_body @status = :responded @page.command("Fetch.fulfillRequest", **) end |
#status?(value) ⇒ Boolean
20 21 22 |
# File 'lib/ferrum/network/intercepted_request.rb', line 20 def status?(value) @status == value.to_sym end |
#url ⇒ Object
59 60 61 |
# File 'lib/ferrum/network/intercepted_request.rb', line 59 def url @request["url"] end |