class StackerBee::Middleware::LogResponse

Public Instance Methods

after(env) click to toggle source
# File lib/stacker_bee/middleware/log_response.rb, line 4
def after(env)
  return unless env.logger
  params = env.request.params.to_a.sort
  command = params.find { |key, _| key == 'command' }.last

  log(env, params, command)
end
base_log_data(env, params) click to toggle source
# File lib/stacker_bee/middleware/log_response.rb, line 23
def base_log_data(env, params)
  {
    request_path:  env.request.path,
    params:        params,
    response_body: env.raw_response[:body]
  }
end
content_types() click to toggle source
# File lib/stacker_bee/middleware/log_response.rb, line 31
def content_types
  /javascript/
end
log(env, params, command) click to toggle source
# File lib/stacker_bee/middleware/log_response.rb, line 12
def log(env, params, command)
  log_data = base_log_data(env, params)
  if env.response.success?
    log_data[:short_message] = command
    env.logger.info log_data
  else
    log_data[:short_message] = "#{command} failed: #{env.response.error}"
    env.logger.error log_data
  end
end