class Faraday::Response::StubHubCustomLogger

Public Class Methods

new(app, logger = nil, options = {}) click to toggle source
Calls superclass method
# File lib/stub_hub_api/logger.rb, line 7
def initialize(app, logger = nil, options = {})
  super(app)
  @logger = logger || begin
    require 'logger'
    ::Logger.new(STDOUT)
  end
  @options = options
end

Public Instance Methods

call(env) click to toggle source
Calls superclass method
# File lib/stub_hub_api/logger.rb, line 18
def call(env)
  if env.method != :get
    info "#{env.method} #{env.url.to_s}"
    debug('request') { dump_headers env.request_headers }
    debug('request') { dump_body(env[:body]) } if env[:body]
  end
  super
end
on_complete(env) click to toggle source
# File lib/stub_hub_api/logger.rb, line 27
def on_complete(env)
  if env.method != :get
    info('Status') { env.status.to_s }
    debug('response') { dump_headers env.response_headers }
    debug('response') { dump_body env[:body] } if env[:body]
  end
end

Private Instance Methods

dump_body(body) click to toggle source
# File lib/stub_hub_api/logger.rb, line 41
def dump_body(body)
  if body.respond_to?(:to_str)
    body.to_str
  else
    pretty_inspect(body)
  end
end
dump_headers(headers) click to toggle source
# File lib/stub_hub_api/logger.rb, line 37
def dump_headers(headers)
  headers.map { |k, v| "#{k}: #{v.inspect}" }.join("\n")
end
pretty_inspect(body) click to toggle source
# File lib/stub_hub_api/logger.rb, line 49
def pretty_inspect(body)
  require 'pp' unless body.respond_to?(:pretty_inspect)
  body.pretty_inspect
end