class Appfirst::Logger

Public Class Methods

new(app, logger = nil) click to toggle source
Calls superclass method
# File lib/appfirst/logger.rb, line 4
def initialize(app, logger = nil)
  super(app)
  @logger = logger || ::Logger.new(nil)
end

Public Instance Methods

call(env) click to toggle source
Calls superclass method
# File lib/appfirst/logger.rb, line 11
def call(env)
  info "REQUEST: #{env[:method].upcase} #{env[:url].to_s}"
  info('request') { dump_headers env[:request_headers] }
  info('request.body') { env[:body] } if (env[:request_headers]["Accept"] || "").match("application/json")
  info('')
  super
end
on_complete(env) click to toggle source
# File lib/appfirst/logger.rb, line 19
def on_complete(env)
  info "RESPONSE: #{env[:status]}"
  info('response') { dump_headers env[:response_headers] }
  info('response.body') { env[:body] } if (env[:response_headers]["Content-Type"] || "").match("application/json")
  info('')
end

Private Instance Methods

dump_headers(headers) click to toggle source
# File lib/appfirst/logger.rb, line 28
def dump_headers(headers)
  headers.map { |k, v| "#{k}: #{v.inspect}" }.join("\n")
end