Class: RubyInspector::DevToolsRequestTracker
- Inherits:
-
Object
- Object
- RubyInspector::DevToolsRequestTracker
- Defined in:
- lib/ruby_inspector/dev_tools_request_tracker.rb
Instance Attribute Summary collapse
-
#request_id ⇒ Object
readonly
Returns the value of attribute request_id.
-
#request_tracker ⇒ Object
readonly
Returns the value of attribute request_tracker.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(request_tracker) ⇒ DevToolsRequestTracker
constructor
A new instance of DevToolsRequestTracker.
- #notify_body_received ⇒ Object
- #notify_request_started ⇒ Object
- #notify_response_received ⇒ Object
Constructor Details
#initialize(request_tracker) ⇒ DevToolsRequestTracker
Returns a new instance of DevToolsRequestTracker.
10 11 12 13 14 15 16 |
# File 'lib/ruby_inspector/dev_tools_request_tracker.rb', line 10 def initialize(request_tracker) @request_tracker = request_tracker @request_id = self.class.next_request_id.to_s notify_request_started request_tracker.on_response { notify_response_received } request_tracker.on_body { notify_body_received } end |
Instance Attribute Details
#request_id ⇒ Object (readonly)
Returns the value of attribute request_id.
8 9 10 |
# File 'lib/ruby_inspector/dev_tools_request_tracker.rb', line 8 def request_id @request_id end |
#request_tracker ⇒ Object (readonly)
Returns the value of attribute request_tracker.
8 9 10 |
# File 'lib/ruby_inspector/dev_tools_request_tracker.rb', line 8 def request_tracker @request_tracker end |
Class Method Details
.next_request_id ⇒ Object
3 4 5 6 |
# File 'lib/ruby_inspector/dev_tools_request_tracker.rb', line 3 def self.next_request_id @current_request_id ||= 0 @current_request_id += 1 end |
Instance Method Details
#notify_body_received ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/ruby_inspector/dev_tools_request_tracker.rb', line 55 def notify_body_received RubyInspector.send_info( method: "RubyInspector.network.cacheBody", params: { requestId: request_id }, result: { body: request_tracker.response_body, base64Encoded: false } ) RubyInspector.send_info( method: "Network.loadingFinished", params: { requestId: request_id, timestamp: Time.now.to_f, encodedDataLength: request_tracker.response_body.length } ) end |
#notify_request_started ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ruby_inspector/dev_tools_request_tracker.rb', line 18 def notify_request_started RubyInspector.send_info( method: "Network.requestWillBeSent", params: { requestId: request_id, request: { url: request_tracker.url, method: request_tracker.method, headers: request_tracker.request_headers, postData: request_tracker.request_body }, timestamp: Time.now.to_f, type: "Other" } ) end |
#notify_response_received ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ruby_inspector/dev_tools_request_tracker.rb', line 35 def notify_response_received RubyInspector.send_info( method: "Network.responseReceived", params: { requestId: request_id, timestamp: Time.now.to_f, type: "Document", response: { url: request_tracker.url, status: request_tracker.status_code, statusText: request_tracker., headers: request_tracker.response_headers, mimeType: "text/html", requestHeaders: request_tracker.request_headers, remotePort: request_tracker.port } } ) end |