Module: DraftLog::AddExtraRequestLogData

Defined in:
lib/draft_log/add_extra_request_log_data.rb

Instance Method Summary collapse

Instance Method Details

#append_info_to_payload(payload) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/draft_log/add_extra_request_log_data.rb', line 3

def append_info_to_payload(payload)
  super
  payload[:query_string] = request.query_parameters
  payload[:params] = request.params.except(:controller, :action)
  payload[:cookies] = cookies.to_h.select{|x| !x.ends_with?("_session") }
  payload[:session] = session.to_hash.select{|x| ["session_id", "_csrf_token"].exclude?(x) }
  payload[:path_param] = request.path_parameters.except(:controller, :action, :format, :_method, :only_path)
  payload[:controller_instance_var] = instance_variables.select{|x| !x.to_s.start_with?('@_') }.reject{|y| y == :@marked_for_same_origin_verification }.
    inject({}) {|result, element| result[element.to_s] = instance_variable_get(element.to_s).to_s; result }
  payload[:view_log_event_data] = Thread.current[:view_log_payload]
  Thread.current[:view_log_payload] = nil
end