module DraftLog::AddExtraRequestLogData

Public Instance Methods

append_info_to_payload(payload) click to toggle source
Calls superclass method
# 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