# File lib/couchrest/database.rb, line 249
    def view(name, params = {}, payload = {}, &block)
      params = params.dup
      payload['keys'] = params.delete(:keys) if params[:keys]
      # Try recognising the name, otherwise assume already prepared
      view_path = name_to_view_path(name)
      url = CouchRest.paramify_url "#{@root}/#{view_path}", params
      if block_given?
        if !payload.empty?
          @streamer.post url, payload, &block
        else
          @streamer.get url, &block
        end
      else
        if !payload.empty?
          CouchRest.post url, payload
        else
          CouchRest.get url
        end
      end
    end