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.
-
#request_id ⇒ Object
Returns the value of attribute request_id.
-
#resource_type ⇒ Object
Returns the value of attribute resource_type.
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
- #url ⇒ Object
Constructor Details
#initialize(page, params) ⇒ InterceptedRequest
Returns a new instance of InterceptedRequest.
10 11 12 13 14 15 16 |
# File 'lib/ferrum/network/intercepted_request.rb', line 10 def initialize(page, params) @page, @params = page, params @request_id = params["requestId"] @frame_id = params["frameId"] @resource_type = params["resourceType"] @request = params["request"] 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 |
#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 |
Instance Method Details
#abort ⇒ Object
46 47 48 |
# File 'lib/ferrum/network/intercepted_request.rb', line 46 def abort @page.command("Fetch.failRequest", requestId: request_id, errorReason: "BlockedByClient") end |
#continue(**options) ⇒ Object
41 42 43 44 |
# File 'lib/ferrum/network/intercepted_request.rb', line 41 def continue(**) = .merge(requestId: request_id) @page.command("Fetch.continueRequest", **) end |
#headers ⇒ Object
58 59 60 |
# File 'lib/ferrum/network/intercepted_request.rb', line 58 def headers @request["headers"] end |
#initial_priority ⇒ Object
62 63 64 |
# File 'lib/ferrum/network/intercepted_request.rb', line 62 def initial_priority @request["initialPriority"] end |
#inspect ⇒ Object
70 71 72 |
# File 'lib/ferrum/network/intercepted_request.rb', line 70 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
22 23 24 |
# File 'lib/ferrum/network/intercepted_request.rb', line 22 def match?(regexp) !!url.match(regexp) end |
#method ⇒ Object
54 55 56 |
# File 'lib/ferrum/network/intercepted_request.rb', line 54 def method @request["method"] end |
#navigation_request? ⇒ Boolean
18 19 20 |
# File 'lib/ferrum/network/intercepted_request.rb', line 18 def @params["isNavigationRequest"] end |
#referrer_policy ⇒ Object
66 67 68 |
# File 'lib/ferrum/network/intercepted_request.rb', line 66 def referrer_policy @request["referrerPolicy"] end |
#respond(**options) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ferrum/network/intercepted_request.rb', line 26 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.encode64(.fetch(:body, '')).strip) if has_body @page.command("Fetch.fulfillRequest", **) end |
#url ⇒ Object
50 51 52 |
# File 'lib/ferrum/network/intercepted_request.rb', line 50 def url @request["url"] end |