Module: Onelinejson::AppControllerMethods

Defined in:
lib/onelinejson.rb

Instance Method Summary collapse

Instance Method Details

#append_info_to_payload(payload) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/onelinejson.rb', line 99

def append_info_to_payload(payload)
  super
  headers = if request.headers.respond_to?(:env)
    request.headers.env
  elsif request.headers.respond_to?(:to_hash)
    request.headers.to_hash
  end.reject {|k, v| !k.starts_with?("HTTP_") || k == "HTTP_AUTHORIZATION"}

  payload[:request] = {
    params: params.reject { |k,v|
      k == 'controller' || k == 'action' || v.is_a?(ActionDispatch::Http::UploadedFile)
    },
    headers: headers,
    ip: request.ip,
    uuid: request.env['action_dispatch.request_id'],
    controller: self.class.name,
    date: Time.now.utc.iso8601,
  }
  payload[:request][:user_id] = current_user.id if defined?(current_user) && current_user
end