instance method merge_and_normalize_cache_control!

Ruby on Rails 5.2.8.1

Since v5.2.8.1 Private

Available in: v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

merge_and_normalize_cache_control!(cache_control)

No documentation comment.

Parameters

cache_control req
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

Defined in actionpack/lib/action_dispatch/http/cache.rb line 185 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionDispatch::Http::Cache::Response

Type at least 2 characters to search.

↑↓ navigate · open · esc close