Class: AppMap::Rails::RequestHandler::HTTPServerRequest

Inherits:
Event::MethodEvent show all
Defined in:
lib/appmap/rails/request_handler.rb

Constant Summary

Constants inherited from Event::MethodEvent

Event::MethodEvent::LIMIT

Instance Attribute Summary collapse

Attributes inherited from Event::MethodEventStruct

#event, #id, #thread_id

Instance Method Summary collapse

Methods inherited from Event::MethodEvent

build_from_invocation, display_string

Constructor Details

#initialize(request) ⇒ HTTPServerRequest

Returns a new instance of HTTPServerRequest.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/appmap/rails/request_handler.rb', line 12

def initialize(request)
  super AppMap::Event.next_id_counter, :call, Thread.current.object_id

  @request_method = request.request_method
  @normalized_path_info = normalized_path request
  @path_info = request.path_info.split('?')[0]
  # ActionDispatch::Http::ParameterFilter is deprecated
  parameter_filter_cls = \
    if defined?(ActiveSupport::ParameterFilter)
      ActiveSupport::ParameterFilter
    else
      ActionDispatch::Http::ParameterFilter
    end
  @params = parameter_filter_cls.new(::Rails.application.config.filter_parameters).filter(request.params)
end

Instance Attribute Details

#normalized_path_infoObject

Returns the value of attribute normalized_path_info.



10
11
12
# File 'lib/appmap/rails/request_handler.rb', line 10

def normalized_path_info
  @normalized_path_info
end

#paramsObject

Returns the value of attribute params.



10
11
12
# File 'lib/appmap/rails/request_handler.rb', line 10

def params
  @params
end

#path_infoObject

Returns the value of attribute path_info.



10
11
12
# File 'lib/appmap/rails/request_handler.rb', line 10

def path_info
  @path_info
end

#request_methodObject

Returns the value of attribute request_method.



10
11
12
# File 'lib/appmap/rails/request_handler.rb', line 10

def request_method
  @request_method
end

Instance Method Details

#to_hObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/appmap/rails/request_handler.rb', line 28

def to_h
  super.tap do |h|
    h[:http_server_request] = {
      request_method: request_method,
      path_info: path_info,
      normalized_path_info: normalized_path_info
    }.compact

    h[:message] = params.keys.map do |key|
      val = params[key]
      {
        name: key,
        class: val.class.name,
        value: self.class.display_string(val),
        object_id: val.__id__
      }
    end
  end
end