# File lib/restclient/payload.rb, line 9
    def generate(params)
      if params.is_a?(String)
        Base.new(params)
      elsif params.respond_to?(:read)
        Streamed.new(params)
      elsif params
        if params.delete(:multipart) == true || has_file?(params)
          Multipart.new(params)
        else
          UrlEncoded.new(params)
        end
      else
        nil
      end
    end