slimmer 1.1.17 → 1.1.18
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/slimmer/app.rb +1 -1
- data/lib/slimmer/version.rb +1 -1
- data/test/header_filtering_test.rb +20 -0
- metadata +82 -92
data/lib/slimmer/app.rb
CHANGED
@@ -98,7 +98,7 @@ module Slimmer
|
|
98
98
|
end
|
99
99
|
|
100
100
|
def filter_headers(header_hash)
|
101
|
-
valid_keys = %w{vary set-cookie location content-type expires cache-control www-authenticate}
|
101
|
+
valid_keys = %w{vary set-cookie location content-type expires cache-control www-authenticate last-modified etag}
|
102
102
|
logger.debug "Slimmer: removing headers except #{valid_keys} from #{header_hash.keys}"
|
103
103
|
removed_keys = []
|
104
104
|
header_hash.keys.each do |key|
|
data/lib/slimmer/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class HeaderFilteringTest < SlimmerIntegrationTest
|
4
|
+
ALLOWED_HEADERS = ["Vary", "Set-Cookie", "Location", "Content-Type", "Expires", "Cache-Control", "WWW-Authenticate", "Last-Modified", "ETag"]
|
5
|
+
FORBIDDEN_HEADERS = ["Anything-Else"]
|
6
|
+
|
7
|
+
given_response 200, %{Anything}, (ALLOWED_HEADERS + FORBIDDEN_HEADERS).inject({}) {|memo, header| memo[header] = header.downcase; memo}
|
8
|
+
|
9
|
+
def test_allows_whitelisted_headers
|
10
|
+
ALLOWED_HEADERS.each do |header|
|
11
|
+
assert last_response.headers.keys.include?(header)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_filters_other_headers
|
16
|
+
FORBIDDEN_HEADERS.each do |header|
|
17
|
+
refute last_response.headers.keys.include?(header)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,139 +1,136 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: slimmer
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.18
|
4
5
|
prerelease:
|
5
|
-
version: 1.1.17
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Ben Griffiths
|
9
9
|
- James Stewart
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-01-10 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
17
16
|
name: nokogiri
|
18
|
-
requirement: &
|
17
|
+
requirement: &70351908621780 !ruby/object:Gem::Requirement
|
19
18
|
none: false
|
20
|
-
requirements:
|
19
|
+
requirements:
|
21
20
|
- - ~>
|
22
|
-
- !ruby/object:Gem::Version
|
21
|
+
- !ruby/object:Gem::Version
|
23
22
|
version: 1.5.0
|
24
23
|
type: :runtime
|
25
24
|
prerelease: false
|
26
|
-
version_requirements: *
|
27
|
-
- !ruby/object:Gem::Dependency
|
25
|
+
version_requirements: *70351908621780
|
26
|
+
- !ruby/object:Gem::Dependency
|
28
27
|
name: rack
|
29
|
-
requirement: &
|
28
|
+
requirement: &70351908620040 !ruby/object:Gem::Requirement
|
30
29
|
none: false
|
31
|
-
requirements:
|
30
|
+
requirements:
|
32
31
|
- - ~>
|
33
|
-
- !ruby/object:Gem::Version
|
32
|
+
- !ruby/object:Gem::Version
|
34
33
|
version: 1.3.5
|
35
34
|
type: :runtime
|
36
35
|
prerelease: false
|
37
|
-
version_requirements: *
|
38
|
-
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: *70351908620040
|
37
|
+
- !ruby/object:Gem::Dependency
|
39
38
|
name: plek
|
40
|
-
requirement: &
|
39
|
+
requirement: &70351908619480 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
45
44
|
version: 0.1.8
|
46
45
|
type: :runtime
|
47
46
|
prerelease: false
|
48
|
-
version_requirements: *
|
49
|
-
- !ruby/object:Gem::Dependency
|
47
|
+
version_requirements: *70351908619480
|
48
|
+
- !ruby/object:Gem::Dependency
|
50
49
|
name: json
|
51
|
-
requirement: &
|
50
|
+
requirement: &70351908618940 !ruby/object:Gem::Requirement
|
52
51
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
57
56
|
type: :runtime
|
58
57
|
prerelease: false
|
59
|
-
version_requirements: *
|
60
|
-
- !ruby/object:Gem::Dependency
|
58
|
+
version_requirements: *70351908618940
|
59
|
+
- !ruby/object:Gem::Dependency
|
61
60
|
name: null_logger
|
62
|
-
requirement: &
|
61
|
+
requirement: &70351908617580 !ruby/object:Gem::Requirement
|
63
62
|
none: false
|
64
|
-
requirements:
|
65
|
-
- -
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version:
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
68
67
|
type: :runtime
|
69
68
|
prerelease: false
|
70
|
-
version_requirements: *
|
71
|
-
- !ruby/object:Gem::Dependency
|
69
|
+
version_requirements: *70351908617580
|
70
|
+
- !ruby/object:Gem::Dependency
|
72
71
|
name: rake
|
73
|
-
requirement: &
|
72
|
+
requirement: &70351908611760 !ruby/object:Gem::Requirement
|
74
73
|
none: false
|
75
|
-
requirements:
|
74
|
+
requirements:
|
76
75
|
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
76
|
+
- !ruby/object:Gem::Version
|
78
77
|
version: 0.9.2.2
|
79
78
|
type: :development
|
80
79
|
prerelease: false
|
81
|
-
version_requirements: *
|
82
|
-
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: *70351908611760
|
81
|
+
- !ruby/object:Gem::Dependency
|
83
82
|
name: rack-test
|
84
|
-
requirement: &
|
83
|
+
requirement: &70351908609820 !ruby/object:Gem::Requirement
|
85
84
|
none: false
|
86
|
-
requirements:
|
85
|
+
requirements:
|
87
86
|
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
87
|
+
- !ruby/object:Gem::Version
|
89
88
|
version: 0.6.1
|
90
89
|
type: :development
|
91
90
|
prerelease: false
|
92
|
-
version_requirements: *
|
93
|
-
- !ruby/object:Gem::Dependency
|
91
|
+
version_requirements: *70351908609820
|
92
|
+
- !ruby/object:Gem::Dependency
|
94
93
|
name: mocha
|
95
|
-
requirement: &
|
94
|
+
requirement: &70351908606800 !ruby/object:Gem::Requirement
|
96
95
|
none: false
|
97
|
-
requirements:
|
96
|
+
requirements:
|
98
97
|
- - ~>
|
99
|
-
- !ruby/object:Gem::Version
|
98
|
+
- !ruby/object:Gem::Version
|
100
99
|
version: 0.9.12
|
101
100
|
type: :development
|
102
101
|
prerelease: false
|
103
|
-
version_requirements: *
|
104
|
-
- !ruby/object:Gem::Dependency
|
102
|
+
version_requirements: *70351908606800
|
103
|
+
- !ruby/object:Gem::Dependency
|
105
104
|
name: webmock
|
106
|
-
requirement: &
|
105
|
+
requirement: &70351908602140 !ruby/object:Gem::Requirement
|
107
106
|
none: false
|
108
|
-
requirements:
|
107
|
+
requirements:
|
109
108
|
- - ~>
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version:
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.7'
|
112
111
|
type: :development
|
113
112
|
prerelease: false
|
114
|
-
version_requirements: *
|
115
|
-
- !ruby/object:Gem::Dependency
|
113
|
+
version_requirements: *70351908602140
|
114
|
+
- !ruby/object:Gem::Dependency
|
116
115
|
name: therubyracer
|
117
|
-
requirement: &
|
116
|
+
requirement: &70351908599800 !ruby/object:Gem::Requirement
|
118
117
|
none: false
|
119
|
-
requirements:
|
120
|
-
- -
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version:
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
123
122
|
type: :development
|
124
123
|
prerelease: false
|
125
|
-
version_requirements: *
|
124
|
+
version_requirements: *70351908599800
|
126
125
|
description: Rack middleware for skinning pages using a specific template
|
127
|
-
email:
|
126
|
+
email:
|
128
127
|
- bengriffiths@gmail.com
|
129
128
|
- james.stewart@digital.cabinet-office.gov.uk
|
130
|
-
executables:
|
129
|
+
executables:
|
131
130
|
- render_slimmer_error
|
132
131
|
extensions: []
|
133
|
-
|
134
132
|
extra_rdoc_files: []
|
135
|
-
|
136
|
-
files:
|
133
|
+
files:
|
137
134
|
- README.md
|
138
135
|
- CHANGELOG.md
|
139
136
|
- lib/slimmer/admin_title_inserter.rb
|
@@ -160,6 +157,7 @@ files:
|
|
160
157
|
- test/fixtures/500.html.erb
|
161
158
|
- test/fixtures/wrapper.html.erb
|
162
159
|
- test/google_analytics_test.rb
|
160
|
+
- test/header_filtering_test.rb
|
163
161
|
- test/headers_test.rb
|
164
162
|
- test/processors/body_inserter_test.rb
|
165
163
|
- test/processors/header_context_inserter_test.rb
|
@@ -169,42 +167,34 @@ files:
|
|
169
167
|
- bin/render_slimmer_error
|
170
168
|
homepage: http://github.com/alphagov/slimmer
|
171
169
|
licenses: []
|
172
|
-
|
173
170
|
post_install_message:
|
174
171
|
rdoc_options: []
|
175
|
-
|
176
|
-
require_paths:
|
172
|
+
require_paths:
|
177
173
|
- lib
|
178
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
174
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
179
175
|
none: false
|
180
|
-
requirements:
|
181
|
-
- -
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
|
184
|
-
|
185
|
-
- 0
|
186
|
-
version: "0"
|
187
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ! '>='
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
180
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
181
|
none: false
|
189
|
-
requirements:
|
190
|
-
- -
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
|
193
|
-
segments:
|
194
|
-
- 0
|
195
|
-
version: "0"
|
182
|
+
requirements:
|
183
|
+
- - ! '>='
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
196
186
|
requirements: []
|
197
|
-
|
198
187
|
rubyforge_project: slimmer
|
199
|
-
rubygems_version: 1.8.
|
188
|
+
rubygems_version: 1.8.11
|
200
189
|
signing_key:
|
201
190
|
specification_version: 3
|
202
191
|
summary: Thinner than the skinner
|
203
|
-
test_files:
|
192
|
+
test_files:
|
204
193
|
- test/fixtures/404.html.erb
|
205
194
|
- test/fixtures/500.html.erb
|
206
195
|
- test/fixtures/wrapper.html.erb
|
207
196
|
- test/google_analytics_test.rb
|
197
|
+
- test/header_filtering_test.rb
|
208
198
|
- test/headers_test.rb
|
209
199
|
- test/processors/body_inserter_test.rb
|
210
200
|
- test/processors/header_context_inserter_test.rb
|