Sha256: e343fbfede6678c33f2c9fde7b8a86db023adaa2f6cafe305e2e1b4199e984a3
Contents?: true
Size: 982 Bytes
Versions: 9
Compression:
Stored size: 982 Bytes
Contents
require "savon/log_message" module Savon class RequestLogger def initialize(globals) @globals = globals end def log(request, &http_request) log_request(request) if log? response = http_request.call log_response(response) if log? response end def logger @globals[:logger] end def log? @globals[:log] end private 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 def log_response(response) logger.info { "SOAP response (status #{response.code})" } logger.debug { body_to_log(response.body) } end def headers_to_log(headers) headers.map { |key, value| "#{key}: #{value}" }.join(", ") end def body_to_log(body) LogMessage.new(body, @globals[:filters], @globals[:pretty_print_xml]).to_s end end end
Version data entries
9 entries across 9 versions & 2 rubygems