Class: Beaker::Http::FaradayBeakerLogger

Inherits:
Faraday::Response::Middleware
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/beaker-http/middleware/response/faraday_beaker_logger.rb

Constant Summary collapse

DEFAULT_OPTIONS =
{ :bodies => true }

Instance Method Summary collapse

Constructor Details

#initialize(app, logger, options = {}) ⇒ FaradayBeakerLogger

Returns a new instance of FaradayBeakerLogger.



8
9
10
11
12
# File 'lib/beaker-http/middleware/response/faraday_beaker_logger.rb', line 8

def initialize(app, logger, options = {} )
  super(app)
  @logger = logger
  @options = DEFAULT_OPTIONS.merge(options)
end

Instance Method Details

#call(env) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/beaker-http/middleware/response/faraday_beaker_logger.rb', line 16

def call(env)
  @start_time = Time.now
  info "#{env.method.upcase}: #{env.url.to_s}"
  debug "REQUEST HEADERS:\n#{dump_headers env.request_headers}"
  debug "REQUEST BODY:\n#{dump_body env[:body]}" if env[:body] && log_body?(:request)
  super
end

#on_complete(env) ⇒ Object



24
25
26
27
28
29
# File 'lib/beaker-http/middleware/response/faraday_beaker_logger.rb', line 24

def on_complete(env)
  info "RESPONSE CODE: #{env.status.to_s}"
  debug "ELAPSED TIME: #{Time.now - @start_time}"
  debug "RESPONSE HEADERS:\n#{dump_headers env.response_headers}"
  debug "RESPONSE BODY:\n#{dump_body env[:body]}" if env[:body] && log_body?(:response)
end