rack-wwwhisper 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/rack/wwwhisper.rb +6 -2
- data/test/test_wwwhisper.rb +9 -2
- metadata +4 -4
data/lib/rack/wwwhisper.rb
CHANGED
@@ -19,10 +19,14 @@ class NoPublicCache
|
|
19
19
|
status, headers, body = @app.call(env)
|
20
20
|
if cache_control = headers['Cache-Control']
|
21
21
|
# If caching is enabled, make sure it is private.
|
22
|
-
|
22
|
+
cache_control = cache_control.gsub(/public/, 'private')
|
23
|
+
if (not cache_control.include? 'private' and
|
23
24
|
cache_control.index(/max-age\s*=\s*0*[1-9]/))
|
24
|
-
|
25
|
+
# max-age > 0 without 'public' or 'private' directive is
|
26
|
+
# treated as 'public', so 'private' needs to be prepended.
|
27
|
+
cache_control.insert(0, 'private, ')
|
25
28
|
end
|
29
|
+
headers['Cache-Control'] = cache_control
|
26
30
|
end
|
27
31
|
[status, headers, body]
|
28
32
|
end
|
data/test/test_wwwhisper.rb
CHANGED
@@ -29,7 +29,8 @@ class MockBackend
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def add_response_header(key, value)
|
32
|
-
|
32
|
+
# Frozen strings as header values must be handled correctly.
|
33
|
+
@response[1][key] = value.freeze
|
33
34
|
end
|
34
35
|
|
35
36
|
end
|
@@ -354,8 +355,8 @@ class TestWWWhisper < Test::Unit::TestCase
|
|
354
355
|
path = '/foo/bar'
|
355
356
|
stub_request(:get, full_url(@wwwhisper.auth_query(path))).
|
356
357
|
to_return(granted())
|
357
|
-
@backend.add_response_header('Cache-Control', 'public, max-age=60')
|
358
358
|
|
359
|
+
@backend.add_response_header('Cache-Control', 'public, max-age=60')
|
359
360
|
get path
|
360
361
|
assert last_response.ok?
|
361
362
|
assert_equal 'private, max-age=60', last_response['Cache-Control']
|
@@ -364,6 +365,12 @@ class TestWWWhisper < Test::Unit::TestCase
|
|
364
365
|
get path
|
365
366
|
assert last_response.ok?
|
366
367
|
assert_equal 'private, max-age=60', last_response['Cache-Control']
|
368
|
+
|
369
|
+
@backend.add_response_header('Cache-Control', 'private, max-age=60')
|
370
|
+
get path
|
371
|
+
assert last_response.ok?
|
372
|
+
assert_equal 'private, max-age=60', last_response['Cache-Control']
|
373
|
+
|
367
374
|
end
|
368
375
|
|
369
376
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-wwwhisper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -131,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
131
|
version: '0'
|
132
132
|
segments:
|
133
133
|
- 0
|
134
|
-
hash:
|
134
|
+
hash: 411330195400284462
|
135
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
136
|
none: false
|
137
137
|
requirements:
|
@@ -140,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
140
|
version: '0'
|
141
141
|
segments:
|
142
142
|
- 0
|
143
|
-
hash:
|
143
|
+
hash: 411330195400284462
|
144
144
|
requirements: []
|
145
145
|
rubyforge_project:
|
146
146
|
rubygems_version: 1.8.24
|