class HTTParty::Logger::CurlFormatter

:nodoc:

def format(request, response)

def format(request, response)
  @request  = request
  @response = response
  log_request
  log_response
  logger.send level, messages.join("\n")
end

def initialize(logger, level)

def initialize(logger, level)
  @logger   = logger
  @level    = level.to_sym
  @messages = []
end

def log(direction, line = '')

def log(direction, line = '')
  messages << "[#{TAG_NAME}] [#{time}] #{direction} #{line}"
end

def log_hash(hash)

def log_hash(hash)
  hash.each { |k, v| log(OUT, "#{k}: #{v}") }
end

def log_headers

def log_headers
  return unless request.options[:headers] && request.options[:headers].size > 0
  log OUT, 'Headers: '
  log_hash request.options[:headers]
end

def log_query

def log_query
  return unless request.options[:query]
  log OUT, 'Query: '
  log_hash request.options[:query]
end

def log_request

def log_request
  log_url
  log_headers
  log_query
  log OUT, request.raw_body if request.raw_body
  log OUT
end

def log_response

def log_response
  log IN, "HTTP/#{response.http_version} #{response.code}"
  log_response_headers
  log IN, "\n#{response.body}"
  log IN
end

def log_response_headers

def log_response_headers
  headers = response.respond_to?(:headers) ? response.headers : response
  response.each_header do |response_header|
    log IN, "#{response_header.capitalize}: #{headers[response_header]}"
  end
end

def log_url

def log_url
  http_method = request.http_method.name.split("::").last.upcase
  uri = if request.options[:base_uri]
          request.options[:base_uri] + request.path.path
        else
          request.path.to_s
        end
  log OUT, "#{http_method} #{uri}"
end

def time

def time
  @time ||= Time.now.strftime("%Y-%m-%d %H:%M:%S %z")
end