class Savon::RequestLogger
Public Class Methods
new(globals)
click to toggle source
# File lib/savon/request_logger.rb, line 6 def initialize(globals) @globals = globals end
Public Instance Methods
log(request, &http_request)
click to toggle source
# File lib/savon/request_logger.rb, line 10 def log(request, &http_request) log_request(request) if log? response = http_request.call log_response(response) if log? response end
log?()
click to toggle source
# File lib/savon/request_logger.rb, line 22 def log? @globals[:log] end
logger()
click to toggle source
# File lib/savon/request_logger.rb, line 18 def logger @globals[:logger] end
Private Instance Methods
body_to_log(body)
click to toggle source
# File lib/savon/request_logger.rb, line 43 def body_to_log(body) LogMessage.new(body, @globals[:filters], @globals[:pretty_print_xml]).to_s end
headers_to_log(headers)
click to toggle source
# File lib/savon/request_logger.rb, line 39 def headers_to_log(headers) headers.map { |key, value| "#{key}: #{value}" }.join(", ") end
log_request(request)
click to toggle source
# File lib/savon/request_logger.rb, line 28 def log_request(request) logger.info { "SOAP request: #{request.url}" } logger.info { headers_to_log(request.headers) } logger.debug { body_to_log(request.body) } end
log_response(response)
click to toggle source
# File lib/savon/request_logger.rb, line 34 def log_response(response) logger.info { "SOAP response (status #{response.code})" } logger.debug { body_to_log(response.body) } end