# File lib/action_controller/base.rb, line 1187
      def fresh_when(options)
        options.assert_valid_keys(:etag, :last_modified, :public)

        response.etag          = options[:etag]          if options[:etag]
        response.last_modified = options[:last_modified] if options[:last_modified]
        
        if options[:public] 
          cache_control = response.headers["Cache-Control"].split(",").map {|k| k.strip }
          cache_control.delete("private")
          cache_control.delete("no-cache")
          cache_control << "public"
          response.headers["Cache-Control"] = cache_control.join(', ')
        end

        if request.fresh?(response)
          head :not_modified
        end
      end