class Pupa::Processor::Middleware::Logger

Customizes the Faraday default logger.

Public Class Methods

new(app, logger = nil) click to toggle source
Calls superclass method
# File lib/pupa/processor/middleware/logger.rb, line 8
def initialize(app, logger = nil)
  super(app)
  @logger = logger || begin
    require 'logger'
    ::Logger.new(STDOUT)
  end
end

Public Instance Methods

call(env) click to toggle source
Calls superclass method
# File lib/pupa/processor/middleware/logger.rb, line 18
def call(env)
  info "#{env[:method]} #{env[:url].to_s} #{env[:body].to_s}" # XXX add POST body
  debug('request') { dump_headers env[:request_headers] }
  super
end
on_complete(env) click to toggle source
# File lib/pupa/processor/middleware/logger.rb, line 24
def on_complete(env)
  debug('Status') { env[:status].to_s } # XXX switch from info
  debug('response') { dump_headers env[:response_headers] }
end

Private Instance Methods

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