class Ingenico::Direct::SDK::Logging::RequestLogMessageBuilder

Class that converts data about a request into a properly formatted log message. Formats request id, http method, uri, headers and body into a helpful message.

Constants

MSG_TEMPLATE_WITHOUT_BODY
MSG_TEMPLATE_WITH_BODY

Public Class Methods

new(request_id, method, uri) click to toggle source
# File lib/ingenico/direct/sdk/logging/request_log_message_builder.rb, line 8
def initialize(request_id, method, uri)
  super(request_id)
  @method = method
  @uri = uri
end

Public Instance Methods

get_message() click to toggle source

Constructs and returns a log message based on the request data. The log message is a string.

# File lib/ingenico/direct/sdk/logging/request_log_message_builder.rb, line 15
def get_message
  @body ?
      sprintf(MSG_TEMPLATE_WITH_BODY, @request_id, empty_if_null(@method),
              format_uri, @headers, empty_if_null(@content_type), @body) :
      sprintf(MSG_TEMPLATE_WITHOUT_BODY, @request_id, empty_if_null(@method), format_uri, @headers)
end

Private Instance Methods

format_uri() click to toggle source
# File lib/ingenico/direct/sdk/logging/request_log_message_builder.rb, line 32
def format_uri
  return '' unless @uri && @uri.path
  return @uri.path unless @uri.query
  "#{@uri.path}?#{@uri.query}"
end