Sha256: 8732622a07f3788e086aeb5e7a1ff88d7cac0233d7c98958054a4e0117a8310b

Contents?: true

Size: 769 Bytes

Versions: 15

Compression:

Stored size: 769 Bytes

Contents

require 'forwardable'

class Zendesk2::Logger < Faraday::Response::Middleware
  extend Forwardable

  def initialize(app, logger = nil)
    super(app)
    @logger = logger || begin
    require 'logger'
    ::Logger.new(STDOUT)
    end
  end

  def_delegators :@logger, :debug, :info, :warn, :error, :fatal

  def call(env)
    info "#{env[:method]} #{env[:url].to_s}"
    debug('request') { dump_headers env[:request_headers] }
    debug('request.body') { env[:body] }
    super
  end

  def on_complete(env)
    info('Status') { env[:status].to_s }
    debug('response') { dump_headers env[:response_headers] }
    debug('response.body') { env[:body] }
  end

  private

  def dump_headers(headers)
    headers.map { |k, v| "#{k}: #{v.inspect}" }.join("\n")
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
zendesk2-0.1.2 lib/zendesk2/logger.rb
zendesk2-0.1.1 lib/zendesk2/logger.rb
zendesk2-0.1.0 lib/zendesk2/logger.rb
zendesk2-0.0.23 lib/zendesk2/logger.rb
zendesk2-0.0.22 lib/zendesk2/logger.rb
zendesk2-0.0.20 lib/zendesk2/logger.rb
zendesk2-0.0.19 lib/zendesk2/logger.rb
zendesk2-0.0.18 lib/zendesk2/logger.rb
zendesk2-0.0.17 lib/zendesk2/logger.rb
zendesk2-0.0.16 lib/zendesk2/logger.rb
zendesk2-0.0.15 lib/zendesk2/logger.rb
zendesk2-0.0.14 lib/zendesk2/logger.rb
zendesk2-0.0.13 lib/zendesk2/logger.rb
zendesk2-0.0.12 lib/zendesk2/logger.rb
zendesk2-0.0.11 lib/zendesk2/logger.rb