class ActiveResource::DetailedLogSubscriber
Constants
- VERSION_DEPRECATION_HEADER
- VERSION_EOL_WARNING_HEADER
Public Instance Methods
logger()
click to toggle source
# File lib/active_resource/detailed_log_subscriber.rb, line 10 def logger ActiveResource::Base.logger end
request(event)
click to toggle source
# File lib/active_resource/detailed_log_subscriber.rb, line 5 def request(event) log_request_response_details(event) warn_on_deprecated_header_or_version_eol_header(event) end
Private Instance Methods
log_request_response_details(event)
click to toggle source
# File lib/active_resource/detailed_log_subscriber.rb, line 16 def log_request_response_details(event) data = event.payload[:data] headers = data.extract_options! request_body = data.first info "Request:\n#{request_body}" if request_body info "Headers: #{headers.inspect}" info "Response:\n#{event.payload[:response].body}" end
warn_on_deprecated_header_or_version_eol_header(event)
click to toggle source
# File lib/active_resource/detailed_log_subscriber.rb, line 26 def warn_on_deprecated_header_or_version_eol_header(event) payload = event.payload payload[:response].each do |header_name, header_value| case header_name.downcase when VERSION_DEPRECATION_HEADER warning_message = <<-MSG [DEPRECATED] DuodealerAPI made a call to #{payload[:method].upcase} #{payload[:path]}, and this call made use of a deprecated endpoint, behaviour, or parameter. See #{header_value} for more details. MSG warn warning_message when VERSION_EOL_WARNING_HEADER warning_message = <<-MSG [API Version Warning] DuodealerAPI made a call to #{payload[:method].upcase} #{payload[:path]}, and this call used an API version that is unsupported or will become unsupported within 30 days. See #{header_value} for more details. MSG warn warning_message end end end