    # 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