class Rory::RequestParameterLogger
Public Class Methods
new(app, logger = nil, options = {})
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 5 def initialize(app, logger = nil, options = {}) @app = app @logger = logger @filters = options.fetch(:filters, []) end
Public Instance Methods
call(env)
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 11 def call(env) @env = env @env['rack.input'].rewind log_request @app.call(@env) end
Private Instance Methods
filtered_params()
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 41 def filtered_params parameter_filter.filter(unfiltered_params) end
log_message(message)
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 29 def log_message(message) if logger.respond_to?(:write) logger.write(message + "\n") else logger.info(message) end end
log_request()
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 20 def log_request log_message(request_signature) log_message("Parameters: #{filtered_params}") end
logger()
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 25 def logger @logger || @env['rack.errors'] end
parameter_filter()
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 37 def parameter_filter Rory::ParameterFilter.new(@filters) end
request()
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 45 def request Rack::Request.new(@env) end
request_signature()
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 53 def request_signature %{Started #{@env['REQUEST_METHOD']} "#{@env['PATH_INFO']}" for #{@env['REMOTE_ADDR']} at #{Time.now}} end
unfiltered_params()
click to toggle source
# File lib/rory/request_parameter_logger.rb, line 49 def unfiltered_params request.params end