class Excon::Connection

def validate_params(validation, params)

def validate_params(validation, params)
  valid_keys = case validation
  when :connection
    Excon::VALID_CONNECTION_KEYS
  when :request
    Excon::VALID_REQUEST_KEYS
  end
  invalid_keys = params.keys - valid_keys
  unless invalid_keys.empty?
    Excon.display_warning("Invalid Excon #{validation} keys: #{invalid_keys.map(&:inspect).join(', ')}")
    # FIXME: for now, just warn, don't mutate, give things (ie fog) a chance to catch up
    #params = params.dup
    #invalid_keys.each {|key| params.delete(key) }
  end
  if validation == :connection && params.key?(:host) && !params.key?(:hostname)
    Excon.display_warning('hostname is missing! For IPv6 support, provide both host and hostname: Excon::Connection#new(:host => uri.host, :hostname => uri.hostname, ...).')
    params[:hostname] = params[:host]
  end
  params
end