From 609ed2eaa654aee127fdd6bb13c156a54f881334 Mon Sep 17 00:00:00 2001 From: Alex Williams Date: Sat, 14 Jul 2018 13:06:17 +0000 Subject: [PATCH] Revert "Fix min-fresh cache-control header for stale responses. #14" This reverts commit 9bfba4fc5de965f51f1f0f2f28f0665f96f5efaa. --- CHANGELOG.md | 5 ----- lib/helpers.rb | 2 +- test/test_cache_rules.rb | 6 +++--- test/test_helpers.rb | 2 +- test/test_validations.rb | 8 ++++---- 5 files changed, 9 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6410e9f..9e8c436 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,5 @@ # Changelog -## 0.6.0 (2018-07-14) - - * Fixes issue #14. Thanks @SleeplessByte - * Ensure min-fresh cache-control header is used correctly for stale responses - ## 0.5.0 (2015-05-04) * Add a check which verifies if a precondition exists before revalidating diff --git a/lib/helpers.rb b/lib/helpers.rb index 6649fb4..61c2449 100644 --- a/lib/helpers.rb +++ b/lib/helpers.rb @@ -318,7 +318,7 @@ def helper_min_fresh Proc.new {|request, freshness_lifetime, current_age| if request && request['min-fresh'] token = request['min-fresh']['token'] - freshness_lifetime.to_i >= (current_age - token.to_i) + freshness_lifetime.to_i >= (current_age + token.to_i) end } end diff --git a/test/test_cache_rules.rb b/test/test_cache_rules.rb index 2fad0c4..ea423c8 100644 --- a/test/test_cache_rules.rb +++ b/test/test_cache_rules.rb @@ -54,7 +54,7 @@ def test_validate_column1 def test_validate_column2 request = {"Host"=>"test.url"} - cached = {"Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Cache-Control"=>{"s-maxage"=>{"token"=>"1000000000", "quoted_string"=>nil}}, "X-Cache-Req-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "X-Cache-Res-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Last-Modified" => {"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}} + cached = {"Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Cache-Control"=>{"s-maxage"=>{"token"=>"100000000", "quoted_string"=>nil}}, "X-Cache-Req-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "X-Cache-Res-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Last-Modified" => {"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}} result = CacheRules.validate('http://test.url/test1', request, cached) @@ -65,7 +65,7 @@ def test_validate_column2 def test_validate_column3 request = {"Host"=>"test.url", "If-None-Match" => "*"} - cached = {"Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Cache-Control"=>{"s-maxage"=>{"token"=>"1000000000", "quoted_string"=>nil}}, "X-Cache-Req-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "X-Cache-Res-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Last-Modified" => {"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "ETag" => "\"validEtag\""} + cached = {"Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Cache-Control"=>{"s-maxage"=>{"token"=>"100000000", "quoted_string"=>nil}}, "X-Cache-Req-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "X-Cache-Res-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Last-Modified" => {"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "ETag" => "\"validEtag\""} result = CacheRules.validate('http://test.url/test1', request, cached) @@ -195,7 +195,7 @@ def test_revalidate_response_column3 end def test_revalidate_response_column4 - request = {"Host"=>"test.url", "If-None-Match"=>["\"validEtag\""], "Cache-Control"=>{"max-stale"=>{"token"=>"1000000000", "quoted_string"=>nil}}} + request = {"Host"=>"test.url", "If-None-Match"=>["\"validEtag\""], "Cache-Control"=>{"max-stale"=>{"token"=>"100000000", "quoted_string"=>nil}}} cached = {"Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "X-Cache-Req-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "X-Cache-Res-Date"=>{"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "Last-Modified" => {"httpdate"=>"Sat, 03 Jan 2015 07:03:45 GMT", "timestamp"=>1420268625}, "ETag" => "\"validEtag\""} FakeWeb.register_uri(:head, "http://test.url/test1", :status => ["504", "Gateway Timeout"], :date => "Sat, 03 Jan 2015 07:15:45 GMT", :ETag => "\"validEtag\"") diff --git a/test/test_helpers.rb b/test/test_helpers.rb index 26300f2..6c72867 100644 --- a/test/test_helpers.rb +++ b/test/test_helpers.rb @@ -378,7 +378,7 @@ def test_max_stale end def test_min_fresh - min = CacheRules.helper_min_fresh.call({'min-fresh'=>{'token'=>1000}}, 0, 2000) + min = CacheRules.helper_min_fresh.call({'min-fresh'=>{'token'=>1000}}, 0, 0) fresh = CacheRules.helper_min_fresh.call({'min-fresh'=>{'token'=>"1000"}}, 2000, 0) noop = CacheRules.helper_min_fresh.call @request_headers_nothing, 0, 0 diff --git a/test/test_validations.rb b/test/test_validations.rb index 246cf98..410ea09 100644 --- a/test/test_validations.rb +++ b/test/test_validations.rb @@ -32,14 +32,14 @@ def setup "Cache-Control" => cache_control }, :cached => { - "Date" => {"httpdate"=>"Sat, 14 Jul 2018 11:54:26 GMT", "timestamp"=>1531569266}, + "Date" => {"httpdate"=>"Wed, 21 Feb 2018 04:13:57 GMT", "timestamp"=>1519186437}, "Cache-Control" => { "public" => {"token"=>nil, "quoted_string"=>nil}, "max-stale" => {"token"=>"100", "quoted_string"=>nil} }, - "Last-Modified" => {"httpdate"=>"Sat, 14 Jul 2018 11:54:26 GMT", "timestamp"=>1531569266}, - "X-Cache-Req-Date" => {"httpdate"=>"Sat, 14 Jul 2018 11:54:26 GMT", "timestamp"=>1531569266}, - "X-Cache-Res-Date" => {"httpdate"=>"Sat, 14 Jul 2018 11:54:26 GMT", "timestamp"=>1531569266} + "Last-Modified" => {"httpdate"=>"Wed, 21 Feb 2018 04:13:57 GMT", "timestamp"=>1519186437}, + "X-Cache-Req-Date" => {"httpdate"=>"Wed, 21 Feb 2018 04:13:57 GMT", "timestamp"=>1519186437}, + "X-Cache-Res-Date" => {"httpdate"=>"Wed, 21 Feb 2018 04:13:57 GMT", "timestamp"=>1519186437} } } @headers_noetag = {