Module: Onelinejson::AppControllerMethods

Defined in:
lib/onelinejson.rb

Instance Method Summary collapse

Instance Method Details

#append_info_to_payload(payload) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/onelinejson.rb', line 10

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