class Omise::HTTPLogger
Constants
- LABEL
Attributes
logger[R]
Public Class Methods
new(logger = nil)
click to toggle source
# File lib/omise/http_logger.rb, line 5 def initialize(logger = nil) @logger = logger end
Public Instance Methods
log_request(request)
click to toggle source
# File lib/omise/http_logger.rb, line 11 def log_request(request) info(format_request(request)) end
log_response(response)
click to toggle source
# File lib/omise/http_logger.rb, line 15 def log_response(response) info(format_response(response)) end
Private Instance Methods
format_headers(headers)
click to toggle source
# File lib/omise/http_logger.rb, line 51 def format_headers(headers) headers.map { |name, value| "#{name}: #{value}" }.join("\n") end
format_payload(payload)
click to toggle source
# File lib/omise/http_logger.rb, line 55 def format_payload(payload) payload.map { |key, value| "#{key}=#{value}" }.join("&") end
format_request(request)
click to toggle source
# File lib/omise/http_logger.rb, line 27 def format_request(request) StringIO.open do |s| s.puts("#{LABEL} Request: #{request.method.to_s.upcase} #{request.url}") s.puts(format_headers(request.processed_headers)) s.puts s.puts(format_payload(request.args[:payload])) if request.args[:payload] s.string end end
format_response(response)
click to toggle source
# File lib/omise/http_logger.rb, line 38 def format_response(response) net_http = response.net_http_res StringIO.open do |s| s.puts("#{LABEL} Response: HTTP/#{net_http.http_version} #{net_http.code} #{net_http.message}") s.puts(format_headers(net_http.each_capitalized)) s.puts s.puts(response.body) s.string end end
info(message)
click to toggle source
# File lib/omise/http_logger.rb, line 21 def info(message) return unless @logger @logger.info(message) end