class Excon::Connection

def validate_params(validation, params, middlewares)

def validate_params(validation, params, middlewares)
  valid_keys = case validation
  when :connection
    valid_middleware_keys(middlewares) + Excon::VALID_CONNECTION_KEYS
  when :request
    valid_request_keys(middlewares)
  else
    raise ArgumentError.new("Invalid validation type '#{validation}'")
  end
  if validation == :connection && params[:omit_default_port] != true
    Excon.display_warning(
      'The `omit_default_port` connection option is deprecated, please use `include_default_port` instead.'
    )
  end
  invalid_keys = params.keys - valid_keys
  unless invalid_keys.empty?
    Excon.display_warning("Invalid Excon #{validation} keys: #{invalid_keys.map(&:inspect).join(', ')}")
    if validation == :request
      deprecated_keys = invalid_keys & Excon::DEPRECATED_VALID_REQUEST_KEYS.keys
      mw_msg = deprecated_keys.map do |k|
        "#{k}: #{Excon::DEPRECATED_VALID_REQUEST_KEYS[k]}"
      end.join(', ')
      Excon.display_warning(
        "The following request keys are only valid with the associated middleware: #{mw_msg}"
      )
    end
  end
end