From 895c3591820783c211cee4581af99efeaaad6268 Mon Sep 17 00:00:00 2001
From: Aaron Patterson <aaron.patterson@gmail.com>
Date: Tue, 6 Oct 2015 13:38:50 -0700
Subject: use methods for accessing the cache control headers

Use the methods rack provides so we don't have to worry about the exact
header key.
---
 actionpack/lib/action_dispatch/http/cache.rb    | 11 +++++------
 actionpack/lib/action_dispatch/http/response.rb |  4 ++++
 2 files changed, 9 insertions(+), 6 deletions(-)

(limited to 'actionpack')

diff --git a/actionpack/lib/action_dispatch/http/cache.rb b/actionpack/lib/action_dispatch/http/cache.rb
index f72a2607b6..30ade14c26 100644
--- a/actionpack/lib/action_dispatch/http/cache.rb
+++ b/actionpack/lib/action_dispatch/http/cache.rb
@@ -91,11 +91,10 @@ module ActionDispatch
 
         DATE          = 'Date'.freeze
         LAST_MODIFIED = "Last-Modified".freeze
-        CACHE_CONTROL = "Cache-Control".freeze
         SPECIAL_KEYS  = Set.new(%w[extras no-cache max-age public must-revalidate])
 
         def cache_control_segments
-          if cache_control = get_header(CACHE_CONTROL)
+          if cache_control = _cache_control
             cache_control.delete(' ').split(',')
           else
             []
@@ -149,11 +148,11 @@ module ActionDispatch
           control.merge! cache_control
 
           if control.empty?
-            set_header CACHE_CONTROL, DEFAULT_CACHE_CONTROL
+            self._cache_control = DEFAULT_CACHE_CONTROL
           elsif control[:no_cache]
-            set_header CACHE_CONTROL, NO_CACHE
+            self._cache_control = NO_CACHE
             if control[:extras]
-              set_header(CACHE_CONTROL, get_header(CACHE_CONTROL) + ", #{control[:extras].join(', ')}")
+              self._cache_control = _cache_control + ", #{control[:extras].join(', ')}"
             end
           else
             extras  = control[:extras]
@@ -165,7 +164,7 @@ module ActionDispatch
             options << MUST_REVALIDATE if control[:must_revalidate]
             options.concat(extras) if extras
 
-            set_header CACHE_CONTROL, options.join(", ")
+            self._cache_control = options.join(", ")
           end
         end
       end
diff --git a/actionpack/lib/action_dispatch/http/response.rb b/actionpack/lib/action_dispatch/http/response.rb
index e8cff9a73a..c54efb6541 100644
--- a/actionpack/lib/action_dispatch/http/response.rb
+++ b/actionpack/lib/action_dispatch/http/response.rb
@@ -78,6 +78,10 @@ module ActionDispatch # :nodoc:
     cattr_accessor(:default_headers)
 
     include Rack::Response::Helpers
+    # Aliasing these off because AD::Http::Cache::Response defines them
+    alias :_cache_control :cache_control
+    alias :_cache_control= :cache_control=
+
     include ActionDispatch::Http::FilterRedirect
     include ActionDispatch::Http::Cache::Response
     include MonitorMixin
-- 
cgit v1.2.3