Class: HttpBaseline::Adapter::Rest::Response::Logger

Inherits:
Faraday::Response::Middleware
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/http_baseline/adapter/rest/response/logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, logger = nil) ⇒ Logger

Returns a new instance of Logger.



8
9
10
11
# File 'lib/http_baseline/adapter/rest/response/logger.rb', line 8

def initialize(app, logger = nil)
  super(app)
  @logger = logger || HttpBaseline.logger
end

Instance Method Details

#call(env) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/http_baseline/adapter/rest/response/logger.rb', line 15

def call(env)
  info('request') { '[%s] %s: %s' % ['TX', env.method.upcase, env.url.to_s] }
  dump_headers(env.request_headers) do |line|
    debug('response') { '[%s] %s' % ['TX', line] }
  end
  debug('request') { '[%s] %s' % ['TX', env.body] } if env.body
  super
end

#on_complete(env) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/http_baseline/adapter/rest/response/logger.rb', line 24

def on_complete(env)
  info('status') { '[%s] %s' % ['RX', env.status.to_s] }
  dump_headers(env.response_headers) do |line|
    debug('response') { '[%s] %s' % ['RX', line] }
  end
  debug('response') { '[%s] %s' % ['RX', env.body] }
end