Module: LoggerWare::Collector

Includes:
Filter
Included in:
Rack
Defined in:
lib/logger_ware/collector.rb

Constant Summary collapse

COLLECT_PARAMS =
{
  request_path:  'PATH_INFO',
  method:        'REQUEST_METHOD',
  request_uri:   'REQUEST_URI',
  user_agent:    'HTTP_USER_AGENT',
  http_accept:   'HTTP_ACCEPT',
  rack_session:  "rack.session",
  request_ip:    'REMOTE_ADDR',
  request_ip_fw: 'HTTP_X_FORWARDED_FOR',
  referer:       'HTTP_REFERER',
}
FILTER_PARAMS =
{
  request_parameters: 'action_controller.request.request_parameters',
  path_parameters:    'action_controller.request.path_parameters',
  query_parameters:   'action_controller.request.query_parameters',
}
PARAM_FILTERS =
[/password/]

Constants included from Filter

Filter::REPLACE_WITH

Instance Method Summary collapse

Methods included from Filter

#filter, #filter?, #match?

Instance Method Details

#_collect(env, keys, filters = nil, replace_with = nil) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/logger_ware/collector.rb', line 26

def _collect env, keys, filters = nil, replace_with = nil
  keys.each_with_object({}) do |(k,v), res|
    next unless env.has_key?(v)
    v = env[v]
    v = filter(v, filters, replace_with) if filters
    res[k] = v
  end
end

#collect(env, collect_params = COLLECT_PARAMS, filter_params = FILTER_PARAMS, filters = PARAM_FILTERS, replace_with = Filter::REPLACE_WITH) ⇒ Object



35
36
37
# File 'lib/logger_ware/collector.rb', line 35

def collect env, collect_params = COLLECT_PARAMS, filter_params = FILTER_PARAMS, filters = PARAM_FILTERS, replace_with = Filter::REPLACE_WITH
  _collect(env, collect_params).merge(_collect(env, filter_params, filters, replace_with))
end