class Ingenico::Connect::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.

Public Class Methods

new(request_id, method, uri) click to toggle source
# File lib/ingenico/connect/sdk/logging/request_log_message_builder.rb, line 7
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/connect/sdk/logging/request_log_message_builder.rb, line 14
def get_message
  msg_template_without_body = "Outgoing request (requestId='%s'):\n" +
      "  method:       '%s'\n" +
      "  uri:          '%s'\n" +
      "  headers:      '%s'"
  msg_template_with_body = msg_template_without_body + "\n" +
      "  content-type: '%s'\n" +
      "  body:         '%s'"

  return sprintf(msg_template_without_body, @request_id, empty_if_null(@method),
                 format_uri, @headers) if @body.nil?
  sprintf(msg_template_with_body, @request_id, empty_if_null(@method),
          format_uri, @headers, empty_if_null(@content_type), @body)
end

Private Instance Methods

format_uri() click to toggle source
# File lib/ingenico/connect/sdk/logging/request_log_message_builder.rb, line 31
def format_uri
  '' unless @uri && @uri.path
  if @uri.query.nil?
    return @uri.path
  else
    return "#{@uri.path}?#{@uri.query}" unless @uri.query.nil?
  end
  # @uri.path + '?' + empty_if_null(@uri.query)
end