method

set_conditional_cache_control!

Importance_0
v5.1.7 - Show latest stable - 0 notes - Class: ActionDispatch::Http::Cache::Response
set_conditional_cache_control!(cache_control) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File actionpack/lib/action_dispatch/http/cache.rb, line 179
        def set_conditional_cache_control!(cache_control)
          control = {}
          cc_headers = cache_control_headers
          if extras = cc_headers.delete(:extras)
            cache_control[:extras] ||= []
            cache_control[:extras] += extras
            cache_control[:extras].uniq!
          end

          control.merge! cc_headers
          control.merge! cache_control

          if control.empty?
            self._cache_control = DEFAULT_CACHE_CONTROL
          elsif control[:no_cache]
            self._cache_control = NO_CACHE
            if control[:extras]
              self._cache_control = _cache_control + ", #{control[:extras].join(', ')}"
            end
          else
            extras  = control[:extras]
            max_age = control[:max_age]

            options = []
            options << "max-age=#{max_age.to_i}" if max_age
            options << (control[:public] ? PUBLIC : PRIVATE)
            options << MUST_REVALIDATE if control[:must_revalidate]
            options.concat(extras) if extras

            self._cache_control = options.join(", ")
          end
        end
Register or log in to add new notes.