acorn_cache 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7a2d9940673a713c2d067e7156a4e8ce121c3cc6
4
- data.tar.gz: efdf2438b730d2452d80efa880edb09ff224f30a
3
+ metadata.gz: c0df84217fb0ee3537afe53b51cda3547747dd99
4
+ data.tar.gz: e06995182720fc4ec63762aebeae5605d72ddfb2
5
5
  SHA512:
6
- metadata.gz: 1ac818acc82582947bf09afbf3daa3ec2e9a2641de379538fa3c6fbd090f28d49290474e4bb8ae755ec69a605d6998ba1eb4191f315d71ea45030ca9bec5c1d0
7
- data.tar.gz: 498cab5ea208d38db6302b82078dacc9889b1c58872e3ae74aebd7b8fac333b991a2ac72536bb6f6e37f310706edbed4d7c4168f3edd6c81d5b8684180be54cf
6
+ metadata.gz: 3484fef970bb4f6c4fa0942383cbb6cbfa475e0d73986cc2c8fcd7615db755cb49cd9406559f4572e945177bdea52fa551c9c920571a66e824f97439152c1954
7
+ data.tar.gz: 7e0a58fc03be66c2579e54da3b07d5375dbb6f2cf13f6ac7236bb2425a3bdaee5d4f298902b8021023475e4757dffcc66e3b5d619725fb74e2026e111d6c0e7f
data/CHANGES ADDED
@@ -0,0 +1,7 @@
1
+ 0.1.0
2
+ - Initial release
3
+ 0.1.1
4
+ - Add ServerResponse#etag_header
5
+ - Fixed bug in CachedResponse#time_to_live
6
+ 0.2.0
7
+ - Add feature to remove cookies from server responses prior to caching
data/README.md CHANGED
@@ -12,6 +12,7 @@ Features currently available include the following:
12
12
  * Allows for basic browser caching behavior modification by changing out cache control header directives.
13
13
  * Uses Redis or Memcached to store cached server responses.
14
14
  * Adds a custom header to mark responses returned from the cache (`X-Acorn-Cache: HIT`)
15
+ * Removes cookies from server responses prior to caching.
15
16
 
16
17
  ##Getting Started
17
18
 
@@ -87,7 +88,7 @@ if Rails.env.production?
87
88
  Rack::AcornCache.configure do |config|
88
89
  config.page_rules = {
89
90
  "http://example.com/" => { browser_cache_ttl: 30 },
90
- "http://foo.com/bar" => { acorn_cache_ttl: 100 },
91
+ "http://foo.com/bar" => { acorn_cache_ttl: 100 }
91
92
  }
92
93
  end
93
94
  end
@@ -112,11 +113,11 @@ Configuration options can be set for individual URLs via the
112
113
  ```ruby
113
114
  Rack::AcornCache.configure do |config|
114
115
  config.page_rules = {
115
- { "http://foo.com" => { acorn_cache_ttl: 3600,
116
- browser_cache_ttl: 800,
117
- "http://bar.com/*" => { browser_cache_ttl: 3600,
118
- ignore_query_params: true },
119
- /^https+:\/\/.+\.com/ => { respect_default_header: true,
116
+ { "http://foo.com" => { acorn_cache_ttl: 3600,
117
+ browser_cache_ttl: 800 },
118
+ "http://bar.com/*" => { browser_cache_ttl: 3600,
119
+ ignore_query_params: true },
120
+ /^https+:\/\/.+\.com/ => { respect_existing_headers: true,
120
121
  ignore_query_params: true }
121
122
  }
122
123
  end
@@ -183,7 +184,7 @@ config looks like this...
183
184
  RackAcornCache.configure do |config|
184
185
  config.default_acorn_cache_ttl = 30
185
186
  config.page_rules = {
186
- "http://foo.com" => { use_defaults: true }
187
+ "http://foo.com" => { use_defaults: true },
187
188
  "http://bar.com" => { acorn_cache_ttl: 100 }
188
189
  }
189
190
  end
@@ -4,15 +4,15 @@ class Rack::AcornCache
4
4
  return false unless cached_response
5
5
  if cached_response.fresh?
6
6
  if request.max_age_more_restrictive?(cached_response)
7
- return cached_response.date + request.max_age >= Time.now
7
+ return cached_response.date + request.max_age >= Time.now.gmtime
8
8
  elsif request.max_fresh
9
- return cached_response.expiration_date - request.max_fresh >= Time.now
9
+ return cached_response.expiration_date - request.max_fresh >= Time.now.gmtime
10
10
  end
11
11
  true
12
12
  else
13
13
  return false unless request.max_stale?
14
14
  return true if request.max_stale == true
15
- cached_response.expiration_date + request.max_stale >= Time.now
15
+ cached_response.expiration_date + request.max_stale >= Time.now.gmtime
16
16
  end
17
17
  end
18
18
  end
@@ -46,6 +46,7 @@ class Rack::AcornCache
46
46
 
47
47
  def cache!(cache_key)
48
48
  update_date!
49
+ headers.delete("Set-Cookie")
49
50
  CacheWriter.write(cache_key, serialize)
50
51
  self
51
52
  end
@@ -1,3 +1,3 @@
1
1
  module AcornCache
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acorn_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent J. DeVendra
@@ -9,118 +9,118 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-03-03 00:00:00.000000000 Z
12
+ date: 2016-03-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.10'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.10'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: minitest
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - '>='
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - '>='
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ~>
47
47
  - !ruby/object:Gem::Version
48
48
  version: '10.0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ~>
54
54
  - !ruby/object:Gem::Version
55
55
  version: '10.0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: pry
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - '>='
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ">="
67
+ - - '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: mocha
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - '>='
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ">="
81
+ - - '>='
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: rack
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - ~>
89
89
  - !ruby/object:Gem::Version
90
90
  version: '1.6'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - ~>
96
96
  - !ruby/object:Gem::Version
97
97
  version: '1.6'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: redis
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
102
+ - - '>='
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ">="
109
+ - - '>='
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: dalli
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ">="
116
+ - - '>='
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">="
123
+ - - '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  description: AcornCache is a Ruby HTTP proxy caching library that is lightweight,
@@ -135,8 +135,9 @@ executables: []
135
135
  extensions: []
136
136
  extra_rdoc_files: []
137
137
  files:
138
- - ".gitignore"
139
- - ".travis.yml"
138
+ - .gitignore
139
+ - .travis.yml
140
+ - CHANGES
140
141
  - Gemfile
141
142
  - LICENSE.txt
142
143
  - README.md
@@ -168,19 +169,18 @@ require_paths:
168
169
  - lib
169
170
  required_ruby_version: !ruby/object:Gem::Requirement
170
171
  requirements:
171
- - - ">="
172
+ - - '>='
172
173
  - !ruby/object:Gem::Version
173
174
  version: '0'
174
175
  required_rubygems_version: !ruby/object:Gem::Requirement
175
176
  requirements:
176
- - - ">="
177
+ - - '>='
177
178
  - !ruby/object:Gem::Version
178
179
  version: '0'
179
180
  requirements: []
180
181
  rubyforge_project:
181
- rubygems_version: 2.4.7
182
+ rubygems_version: 2.4.8
182
183
  signing_key:
183
184
  specification_version: 4
184
185
  summary: A HTTP proxy caching library for Rack apps
185
186
  test_files: []
186
- has_rdoc: