Sha256: 0aa80b1e3b8585916f79695986b833d355eb68a2cf47a01da440864816eb0a67
Contents?: true
Size: 1.76 KB
Versions: 77
Compression:
Stored size: 1.76 KB
Contents
module VCR # @private # Provides log message formatting helper methods. class Logger def initialize(stream) @stream = stream end def log(message, log_prefix, indentation_level = 0) indentation = ' ' * indentation_level log_message = indentation + log_prefix + message @stream.puts log_message end def request_summary(request, request_matchers) attributes = [request.method, request.uri] attributes << request.body.to_s[0, 80].inspect if request_matchers.include?(:body) attributes << request.headers.inspect if request_matchers.include?(:headers) "[#{attributes.join(" ")}]" end def response_summary(response) "[#{response.status.code} #{response.body[0, 80].inspect}]" end # @private # A null-object version of the Logger. Used when # a `debug_logger` has not been set. # # @note We used to use a null object for the `debug_logger` itself, # but some users noticed a negative perf impact from having the # logger formatting logic still executing in that case, so we # moved the null object interface up a layer to here. module Null module_function def log(*); end def request_summary(*); end def response_summary(*); end end # @private # Provides common logger helper methods that simply delegate to # the underlying logger object. module Mixin def log(message, indentation_level = 0) VCR.configuration.logger.log(message, log_prefix, indentation_level) end def request_summary(*args) VCR.configuration.logger.request_summary(*args) end def response_summary(*args) VCR.configuration.logger.response_summary(*args) end end end end
Version data entries
77 entries across 77 versions & 11 rubygems