Flowdock
method

merge_and_normalize_cache_control!

Importance_0
Ruby on Rails latest stable (v5.2.3) - 0 notes - Class: ActionDispatch::Http::Cache::Response
merge_and_normalize_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 185
        def merge_and_normalize_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?
            # Let middleware handle default behavior
          elsif control[:no_cache]
            options = []
            options << PUBLIC if control[:public]
            options << NO_CACHE
            options.concat(control[:extras]) if control[:extras]

            self._cache_control = options.join(", ")
          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.