actionpack 4.2.10 → 6.1.3.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of actionpack might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +291 -479
- data/MIT-LICENSE +1 -1
- data/README.rdoc +9 -9
- data/lib/abstract_controller/asset_paths.rb +2 -0
- data/lib/abstract_controller/base.rb +81 -51
- data/lib/{action_controller → abstract_controller}/caching/fragments.rb +64 -17
- data/lib/abstract_controller/caching.rb +66 -0
- data/lib/abstract_controller/callbacks.rb +61 -33
- data/lib/abstract_controller/collector.rb +9 -13
- data/lib/abstract_controller/error.rb +6 -0
- data/lib/abstract_controller/helpers.rb +115 -99
- data/lib/abstract_controller/logger.rb +2 -0
- data/lib/abstract_controller/railties/routes_helpers.rb +21 -3
- data/lib/abstract_controller/rendering.rb +48 -47
- data/lib/abstract_controller/translation.rb +17 -8
- data/lib/abstract_controller/url_for.rb +2 -0
- data/lib/abstract_controller.rb +13 -5
- data/lib/action_controller/api/api_rendering.rb +16 -0
- data/lib/action_controller/api.rb +150 -0
- data/lib/action_controller/base.rb +29 -24
- data/lib/action_controller/caching.rb +12 -57
- data/lib/action_controller/form_builder.rb +50 -0
- data/lib/action_controller/log_subscriber.rb +17 -19
- data/lib/action_controller/metal/basic_implicit_render.rb +13 -0
- data/lib/action_controller/metal/conditional_get.rb +134 -46
- data/lib/action_controller/metal/content_security_policy.rb +51 -0
- data/lib/action_controller/metal/cookies.rb +6 -4
- data/lib/action_controller/metal/data_streaming.rb +30 -50
- data/lib/action_controller/metal/default_headers.rb +17 -0
- data/lib/action_controller/metal/etag_with_flash.rb +18 -0
- data/lib/action_controller/metal/etag_with_template_digest.rb +21 -16
- data/lib/action_controller/metal/exceptions.rb +63 -15
- data/lib/action_controller/metal/flash.rb +9 -8
- data/lib/action_controller/metal/head.rb +26 -21
- data/lib/action_controller/metal/helpers.rb +37 -18
- data/lib/action_controller/metal/http_authentication.rb +81 -73
- data/lib/action_controller/metal/implicit_render.rb +53 -9
- data/lib/action_controller/metal/instrumentation.rb +32 -35
- data/lib/action_controller/metal/live.rb +102 -120
- data/lib/action_controller/metal/logging.rb +20 -0
- data/lib/action_controller/metal/mime_responds.rb +49 -47
- data/lib/action_controller/metal/parameter_encoding.rb +82 -0
- data/lib/action_controller/metal/params_wrapper.rb +83 -66
- data/lib/action_controller/metal/permissions_policy.rb +46 -0
- data/lib/action_controller/metal/redirecting.rb +53 -32
- data/lib/action_controller/metal/renderers.rb +87 -44
- data/lib/action_controller/metal/rendering.rb +77 -50
- data/lib/action_controller/metal/request_forgery_protection.rb +267 -103
- data/lib/action_controller/metal/rescue.rb +10 -17
- data/lib/action_controller/metal/streaming.rb +12 -11
- data/lib/action_controller/metal/strong_parameters.rb +714 -186
- data/lib/action_controller/metal/testing.rb +2 -17
- data/lib/action_controller/metal/url_for.rb +19 -10
- data/lib/action_controller/metal.rb +104 -87
- data/lib/action_controller/railtie.rb +28 -10
- data/lib/action_controller/railties/helpers.rb +3 -1
- data/lib/action_controller/renderer.rb +141 -0
- data/lib/action_controller/template_assertions.rb +11 -0
- data/lib/action_controller/test_case.rb +296 -422
- data/lib/action_controller.rb +34 -23
- data/lib/action_dispatch/http/cache.rb +107 -56
- data/lib/action_dispatch/http/content_disposition.rb +45 -0
- data/lib/action_dispatch/http/content_security_policy.rb +286 -0
- data/lib/action_dispatch/http/filter_parameters.rb +32 -25
- data/lib/action_dispatch/http/filter_redirect.rb +10 -12
- data/lib/action_dispatch/http/headers.rb +55 -22
- data/lib/action_dispatch/http/mime_negotiation.rb +82 -50
- data/lib/action_dispatch/http/mime_type.rb +153 -121
- data/lib/action_dispatch/http/mime_types.rb +20 -6
- data/lib/action_dispatch/http/parameters.rb +90 -40
- data/lib/action_dispatch/http/permissions_policy.rb +173 -0
- data/lib/action_dispatch/http/rack_cache.rb +2 -0
- data/lib/action_dispatch/http/request.rb +226 -121
- data/lib/action_dispatch/http/response.rb +248 -113
- data/lib/action_dispatch/http/upload.rb +21 -7
- data/lib/action_dispatch/http/url.rb +182 -100
- data/lib/action_dispatch/journey/formatter.rb +90 -43
- data/lib/action_dispatch/journey/gtg/builder.rb +28 -41
- data/lib/action_dispatch/journey/gtg/simulator.rb +11 -16
- data/lib/action_dispatch/journey/gtg/transition_table.rb +23 -21
- data/lib/action_dispatch/journey/nfa/dot.rb +3 -14
- data/lib/action_dispatch/journey/nodes/node.rb +29 -15
- data/lib/action_dispatch/journey/parser.rb +17 -16
- data/lib/action_dispatch/journey/parser.y +4 -3
- data/lib/action_dispatch/journey/parser_extras.rb +12 -4
- data/lib/action_dispatch/journey/path/pattern.rb +58 -54
- data/lib/action_dispatch/journey/route.rb +100 -32
- data/lib/action_dispatch/journey/router/utils.rb +29 -18
- data/lib/action_dispatch/journey/router.rb +55 -51
- data/lib/action_dispatch/journey/routes.rb +17 -17
- data/lib/action_dispatch/journey/scanner.rb +26 -17
- data/lib/action_dispatch/journey/visitors.rb +98 -54
- data/lib/action_dispatch/journey.rb +5 -5
- data/lib/action_dispatch/middleware/actionable_exceptions.rb +46 -0
- data/lib/action_dispatch/middleware/callbacks.rb +3 -6
- data/lib/action_dispatch/middleware/cookies.rb +347 -217
- data/lib/action_dispatch/middleware/debug_exceptions.rb +135 -63
- data/lib/action_dispatch/middleware/debug_locks.rb +124 -0
- data/lib/action_dispatch/middleware/debug_view.rb +66 -0
- data/lib/action_dispatch/middleware/exception_wrapper.rb +115 -71
- data/lib/action_dispatch/middleware/executor.rb +21 -0
- data/lib/action_dispatch/middleware/flash.rb +78 -54
- data/lib/action_dispatch/middleware/host_authorization.rb +130 -0
- data/lib/action_dispatch/middleware/public_exceptions.rb +32 -27
- data/lib/action_dispatch/middleware/reloader.rb +5 -91
- data/lib/action_dispatch/middleware/remote_ip.rb +53 -45
- data/lib/action_dispatch/middleware/request_id.rb +17 -10
- data/lib/action_dispatch/middleware/session/abstract_store.rb +41 -26
- data/lib/action_dispatch/middleware/session/cache_store.rb +24 -14
- data/lib/action_dispatch/middleware/session/cookie_store.rb +74 -75
- data/lib/action_dispatch/middleware/session/mem_cache_store.rb +8 -2
- data/lib/action_dispatch/middleware/show_exceptions.rb +28 -23
- data/lib/action_dispatch/middleware/ssl.rb +118 -35
- data/lib/action_dispatch/middleware/stack.rb +82 -41
- data/lib/action_dispatch/middleware/static.rb +156 -89
- data/lib/action_dispatch/middleware/templates/rescues/_actions.html.erb +13 -0
- data/lib/action_dispatch/middleware/templates/rescues/_actions.text.erb +0 -0
- data/lib/action_dispatch/middleware/templates/rescues/_message_and_suggestions.html.erb +22 -0
- data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb +4 -14
- data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/{_source.erb → _source.html.erb} +4 -2
- data/lib/action_dispatch/middleware/templates/rescues/_source.text.erb +8 -0
- data/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb +45 -35
- data/lib/action_dispatch/middleware/templates/rescues/blocked_host.html.erb +7 -0
- data/lib/action_dispatch/middleware/templates/rescues/blocked_host.text.erb +5 -0
- data/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb +23 -4
- data/lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/invalid_statement.html.erb +24 -0
- data/lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb +15 -0
- data/lib/action_dispatch/middleware/templates/rescues/layout.erb +105 -8
- data/lib/action_dispatch/middleware/templates/rescues/missing_exact_template.html.erb +19 -0
- data/lib/action_dispatch/middleware/templates/rescues/missing_exact_template.text.erb +3 -0
- data/lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb +2 -2
- data/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb +3 -3
- data/lib/action_dispatch/middleware/templates/rescues/template_error.text.erb +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb +1 -1
- data/lib/action_dispatch/middleware/templates/routes/_route.html.erb +4 -4
- data/lib/action_dispatch/middleware/templates/routes/_table.html.erb +87 -64
- data/lib/action_dispatch/railtie.rb +27 -13
- data/lib/action_dispatch/request/session.rb +109 -61
- data/lib/action_dispatch/request/utils.rb +90 -23
- data/lib/action_dispatch/routing/endpoint.rb +9 -2
- data/lib/action_dispatch/routing/inspector.rb +141 -102
- data/lib/action_dispatch/routing/mapper.rb +811 -473
- data/lib/action_dispatch/routing/polymorphic_routes.rb +167 -143
- data/lib/action_dispatch/routing/redirection.rb +37 -27
- data/lib/action_dispatch/routing/route_set.rb +363 -331
- data/lib/action_dispatch/routing/routes_proxy.rb +32 -5
- data/lib/action_dispatch/routing/url_for.rb +66 -26
- data/lib/action_dispatch/routing.rb +36 -36
- data/lib/action_dispatch/system_test_case.rb +190 -0
- data/lib/action_dispatch/system_testing/browser.rb +86 -0
- data/lib/action_dispatch/system_testing/driver.rb +67 -0
- data/lib/action_dispatch/system_testing/server.rb +31 -0
- data/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb +138 -0
- data/lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb +29 -0
- data/lib/action_dispatch/testing/assertion_response.rb +46 -0
- data/lib/action_dispatch/testing/assertions/response.rb +44 -22
- data/lib/action_dispatch/testing/assertions/routing.rb +47 -31
- data/lib/action_dispatch/testing/assertions.rb +6 -4
- data/lib/action_dispatch/testing/integration.rb +391 -220
- data/lib/action_dispatch/testing/request_encoder.rb +55 -0
- data/lib/action_dispatch/testing/test_process.rb +53 -22
- data/lib/action_dispatch/testing/test_request.rb +27 -34
- data/lib/action_dispatch/testing/test_response.rb +11 -11
- data/lib/action_dispatch.rb +35 -21
- data/lib/action_pack/gem_version.rb +6 -4
- data/lib/action_pack/version.rb +3 -1
- data/lib/action_pack.rb +4 -2
- metadata +78 -49
- data/lib/action_controller/metal/force_ssl.rb +0 -97
- data/lib/action_controller/metal/hide_actions.rb +0 -40
- data/lib/action_controller/metal/rack_delegation.rb +0 -32
- data/lib/action_controller/middleware.rb +0 -39
- data/lib/action_controller/model_naming.rb +0 -12
- data/lib/action_dispatch/http/parameter_filter.rb +0 -72
- data/lib/action_dispatch/journey/backwards.rb +0 -5
- data/lib/action_dispatch/journey/nfa/builder.rb +0 -76
- data/lib/action_dispatch/journey/nfa/simulator.rb +0 -47
- data/lib/action_dispatch/journey/nfa/transition_table.rb +0 -163
- data/lib/action_dispatch/journey/router/strexp.rb +0 -27
- data/lib/action_dispatch/middleware/params_parser.rb +0 -60
- data/lib/action_dispatch/testing/assertions/dom.rb +0 -3
- data/lib/action_dispatch/testing/assertions/selector.rb +0 -3
- data/lib/action_dispatch/testing/assertions/tag.rb +0 -3
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actionpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.1.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,42 +16,48 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 6.1.3.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 6.1.3.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.0'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 2.0.9
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
43
|
+
version: '2.0'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 2.0.9
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: rack-test
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
|
-
- - "
|
51
|
+
- - ">="
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.6.
|
53
|
+
version: 0.6.3
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
|
-
- - "
|
58
|
+
- - ">="
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.6.
|
60
|
+
version: 0.6.3
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: rails-html-sanitizer
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -61,7 +67,7 @@ dependencies:
|
|
61
67
|
version: '1.0'
|
62
68
|
- - ">="
|
63
69
|
- !ruby/object:Gem::Version
|
64
|
-
version: 1.0
|
70
|
+
version: 1.2.0
|
65
71
|
type: :runtime
|
66
72
|
prerelease: false
|
67
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -71,55 +77,49 @@ dependencies:
|
|
71
77
|
version: '1.0'
|
72
78
|
- - ">="
|
73
79
|
- !ruby/object:Gem::Version
|
74
|
-
version: 1.0
|
80
|
+
version: 1.2.0
|
75
81
|
- !ruby/object:Gem::Dependency
|
76
82
|
name: rails-dom-testing
|
77
83
|
requirement: !ruby/object:Gem::Requirement
|
78
84
|
requirements:
|
79
85
|
- - "~>"
|
80
86
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
82
|
-
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: 1.0.5
|
87
|
+
version: '2.0'
|
85
88
|
type: :runtime
|
86
89
|
prerelease: false
|
87
90
|
version_requirements: !ruby/object:Gem::Requirement
|
88
91
|
requirements:
|
89
92
|
- - "~>"
|
90
93
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
92
|
-
- - ">="
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: 1.0.5
|
94
|
+
version: '2.0'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
name: actionview
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
99
|
- - '='
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
101
|
+
version: 6.1.3.2
|
102
102
|
type: :runtime
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
106
|
- - '='
|
107
107
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
108
|
+
version: 6.1.3.2
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: activemodel
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
113
|
- - '='
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version:
|
115
|
+
version: 6.1.3.2
|
116
116
|
type: :development
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - '='
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version:
|
122
|
+
version: 6.1.3.2
|
123
123
|
description: Web apps on Rails. Simple, battle-tested conventions for building and
|
124
124
|
testing MVC web applications. Works with any Rack-compatible server.
|
125
125
|
email: david@loudthinking.com
|
@@ -133,8 +133,11 @@ files:
|
|
133
133
|
- lib/abstract_controller.rb
|
134
134
|
- lib/abstract_controller/asset_paths.rb
|
135
135
|
- lib/abstract_controller/base.rb
|
136
|
+
- lib/abstract_controller/caching.rb
|
137
|
+
- lib/abstract_controller/caching/fragments.rb
|
136
138
|
- lib/abstract_controller/callbacks.rb
|
137
139
|
- lib/abstract_controller/collector.rb
|
140
|
+
- lib/abstract_controller/error.rb
|
138
141
|
- lib/abstract_controller/helpers.rb
|
139
142
|
- lib/abstract_controller/logger.rb
|
140
143
|
- lib/abstract_controller/railties/routes_helpers.rb
|
@@ -142,28 +145,34 @@ files:
|
|
142
145
|
- lib/abstract_controller/translation.rb
|
143
146
|
- lib/abstract_controller/url_for.rb
|
144
147
|
- lib/action_controller.rb
|
148
|
+
- lib/action_controller/api.rb
|
149
|
+
- lib/action_controller/api/api_rendering.rb
|
145
150
|
- lib/action_controller/base.rb
|
146
151
|
- lib/action_controller/caching.rb
|
147
|
-
- lib/action_controller/
|
152
|
+
- lib/action_controller/form_builder.rb
|
148
153
|
- lib/action_controller/log_subscriber.rb
|
149
154
|
- lib/action_controller/metal.rb
|
155
|
+
- lib/action_controller/metal/basic_implicit_render.rb
|
150
156
|
- lib/action_controller/metal/conditional_get.rb
|
157
|
+
- lib/action_controller/metal/content_security_policy.rb
|
151
158
|
- lib/action_controller/metal/cookies.rb
|
152
159
|
- lib/action_controller/metal/data_streaming.rb
|
160
|
+
- lib/action_controller/metal/default_headers.rb
|
161
|
+
- lib/action_controller/metal/etag_with_flash.rb
|
153
162
|
- lib/action_controller/metal/etag_with_template_digest.rb
|
154
163
|
- lib/action_controller/metal/exceptions.rb
|
155
164
|
- lib/action_controller/metal/flash.rb
|
156
|
-
- lib/action_controller/metal/force_ssl.rb
|
157
165
|
- lib/action_controller/metal/head.rb
|
158
166
|
- lib/action_controller/metal/helpers.rb
|
159
|
-
- lib/action_controller/metal/hide_actions.rb
|
160
167
|
- lib/action_controller/metal/http_authentication.rb
|
161
168
|
- lib/action_controller/metal/implicit_render.rb
|
162
169
|
- lib/action_controller/metal/instrumentation.rb
|
163
170
|
- lib/action_controller/metal/live.rb
|
171
|
+
- lib/action_controller/metal/logging.rb
|
164
172
|
- lib/action_controller/metal/mime_responds.rb
|
173
|
+
- lib/action_controller/metal/parameter_encoding.rb
|
165
174
|
- lib/action_controller/metal/params_wrapper.rb
|
166
|
-
- lib/action_controller/metal/
|
175
|
+
- lib/action_controller/metal/permissions_policy.rb
|
167
176
|
- lib/action_controller/metal/redirecting.rb
|
168
177
|
- lib/action_controller/metal/renderers.rb
|
169
178
|
- lib/action_controller/metal/rendering.rb
|
@@ -173,36 +182,34 @@ files:
|
|
173
182
|
- lib/action_controller/metal/strong_parameters.rb
|
174
183
|
- lib/action_controller/metal/testing.rb
|
175
184
|
- lib/action_controller/metal/url_for.rb
|
176
|
-
- lib/action_controller/middleware.rb
|
177
|
-
- lib/action_controller/model_naming.rb
|
178
185
|
- lib/action_controller/railtie.rb
|
179
186
|
- lib/action_controller/railties/helpers.rb
|
187
|
+
- lib/action_controller/renderer.rb
|
188
|
+
- lib/action_controller/template_assertions.rb
|
180
189
|
- lib/action_controller/test_case.rb
|
181
190
|
- lib/action_dispatch.rb
|
182
191
|
- lib/action_dispatch/http/cache.rb
|
192
|
+
- lib/action_dispatch/http/content_disposition.rb
|
193
|
+
- lib/action_dispatch/http/content_security_policy.rb
|
183
194
|
- lib/action_dispatch/http/filter_parameters.rb
|
184
195
|
- lib/action_dispatch/http/filter_redirect.rb
|
185
196
|
- lib/action_dispatch/http/headers.rb
|
186
197
|
- lib/action_dispatch/http/mime_negotiation.rb
|
187
198
|
- lib/action_dispatch/http/mime_type.rb
|
188
199
|
- lib/action_dispatch/http/mime_types.rb
|
189
|
-
- lib/action_dispatch/http/parameter_filter.rb
|
190
200
|
- lib/action_dispatch/http/parameters.rb
|
201
|
+
- lib/action_dispatch/http/permissions_policy.rb
|
191
202
|
- lib/action_dispatch/http/rack_cache.rb
|
192
203
|
- lib/action_dispatch/http/request.rb
|
193
204
|
- lib/action_dispatch/http/response.rb
|
194
205
|
- lib/action_dispatch/http/upload.rb
|
195
206
|
- lib/action_dispatch/http/url.rb
|
196
207
|
- lib/action_dispatch/journey.rb
|
197
|
-
- lib/action_dispatch/journey/backwards.rb
|
198
208
|
- lib/action_dispatch/journey/formatter.rb
|
199
209
|
- lib/action_dispatch/journey/gtg/builder.rb
|
200
210
|
- lib/action_dispatch/journey/gtg/simulator.rb
|
201
211
|
- lib/action_dispatch/journey/gtg/transition_table.rb
|
202
|
-
- lib/action_dispatch/journey/nfa/builder.rb
|
203
212
|
- lib/action_dispatch/journey/nfa/dot.rb
|
204
|
-
- lib/action_dispatch/journey/nfa/simulator.rb
|
205
|
-
- lib/action_dispatch/journey/nfa/transition_table.rb
|
206
213
|
- lib/action_dispatch/journey/nodes/node.rb
|
207
214
|
- lib/action_dispatch/journey/parser.rb
|
208
215
|
- lib/action_dispatch/journey/parser.y
|
@@ -210,7 +217,6 @@ files:
|
|
210
217
|
- lib/action_dispatch/journey/path/pattern.rb
|
211
218
|
- lib/action_dispatch/journey/route.rb
|
212
219
|
- lib/action_dispatch/journey/router.rb
|
213
|
-
- lib/action_dispatch/journey/router/strexp.rb
|
214
220
|
- lib/action_dispatch/journey/router/utils.rb
|
215
221
|
- lib/action_dispatch/journey/routes.rb
|
216
222
|
- lib/action_dispatch/journey/scanner.rb
|
@@ -218,12 +224,16 @@ files:
|
|
218
224
|
- lib/action_dispatch/journey/visualizer/fsm.css
|
219
225
|
- lib/action_dispatch/journey/visualizer/fsm.js
|
220
226
|
- lib/action_dispatch/journey/visualizer/index.html.erb
|
227
|
+
- lib/action_dispatch/middleware/actionable_exceptions.rb
|
221
228
|
- lib/action_dispatch/middleware/callbacks.rb
|
222
229
|
- lib/action_dispatch/middleware/cookies.rb
|
223
230
|
- lib/action_dispatch/middleware/debug_exceptions.rb
|
231
|
+
- lib/action_dispatch/middleware/debug_locks.rb
|
232
|
+
- lib/action_dispatch/middleware/debug_view.rb
|
224
233
|
- lib/action_dispatch/middleware/exception_wrapper.rb
|
234
|
+
- lib/action_dispatch/middleware/executor.rb
|
225
235
|
- lib/action_dispatch/middleware/flash.rb
|
226
|
-
- lib/action_dispatch/middleware/
|
236
|
+
- lib/action_dispatch/middleware/host_authorization.rb
|
227
237
|
- lib/action_dispatch/middleware/public_exceptions.rb
|
228
238
|
- lib/action_dispatch/middleware/reloader.rb
|
229
239
|
- lib/action_dispatch/middleware/remote_ip.rb
|
@@ -236,14 +246,24 @@ files:
|
|
236
246
|
- lib/action_dispatch/middleware/ssl.rb
|
237
247
|
- lib/action_dispatch/middleware/stack.rb
|
238
248
|
- lib/action_dispatch/middleware/static.rb
|
249
|
+
- lib/action_dispatch/middleware/templates/rescues/_actions.html.erb
|
250
|
+
- lib/action_dispatch/middleware/templates/rescues/_actions.text.erb
|
251
|
+
- lib/action_dispatch/middleware/templates/rescues/_message_and_suggestions.html.erb
|
239
252
|
- lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
|
240
253
|
- lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb
|
241
|
-
- lib/action_dispatch/middleware/templates/rescues/_source.erb
|
254
|
+
- lib/action_dispatch/middleware/templates/rescues/_source.html.erb
|
255
|
+
- lib/action_dispatch/middleware/templates/rescues/_source.text.erb
|
242
256
|
- lib/action_dispatch/middleware/templates/rescues/_trace.html.erb
|
243
257
|
- lib/action_dispatch/middleware/templates/rescues/_trace.text.erb
|
258
|
+
- lib/action_dispatch/middleware/templates/rescues/blocked_host.html.erb
|
259
|
+
- lib/action_dispatch/middleware/templates/rescues/blocked_host.text.erb
|
244
260
|
- lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb
|
245
261
|
- lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb
|
262
|
+
- lib/action_dispatch/middleware/templates/rescues/invalid_statement.html.erb
|
263
|
+
- lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb
|
246
264
|
- lib/action_dispatch/middleware/templates/rescues/layout.erb
|
265
|
+
- lib/action_dispatch/middleware/templates/rescues/missing_exact_template.html.erb
|
266
|
+
- lib/action_dispatch/middleware/templates/rescues/missing_exact_template.text.erb
|
247
267
|
- lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb
|
248
268
|
- lib/action_dispatch/middleware/templates/rescues/missing_template.text.erb
|
249
269
|
- lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb
|
@@ -266,24 +286,34 @@ files:
|
|
266
286
|
- lib/action_dispatch/routing/route_set.rb
|
267
287
|
- lib/action_dispatch/routing/routes_proxy.rb
|
268
288
|
- lib/action_dispatch/routing/url_for.rb
|
289
|
+
- lib/action_dispatch/system_test_case.rb
|
290
|
+
- lib/action_dispatch/system_testing/browser.rb
|
291
|
+
- lib/action_dispatch/system_testing/driver.rb
|
292
|
+
- lib/action_dispatch/system_testing/server.rb
|
293
|
+
- lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb
|
294
|
+
- lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb
|
295
|
+
- lib/action_dispatch/testing/assertion_response.rb
|
269
296
|
- lib/action_dispatch/testing/assertions.rb
|
270
|
-
- lib/action_dispatch/testing/assertions/dom.rb
|
271
297
|
- lib/action_dispatch/testing/assertions/response.rb
|
272
298
|
- lib/action_dispatch/testing/assertions/routing.rb
|
273
|
-
- lib/action_dispatch/testing/assertions/selector.rb
|
274
|
-
- lib/action_dispatch/testing/assertions/tag.rb
|
275
299
|
- lib/action_dispatch/testing/integration.rb
|
300
|
+
- lib/action_dispatch/testing/request_encoder.rb
|
276
301
|
- lib/action_dispatch/testing/test_process.rb
|
277
302
|
- lib/action_dispatch/testing/test_request.rb
|
278
303
|
- lib/action_dispatch/testing/test_response.rb
|
279
304
|
- lib/action_pack.rb
|
280
305
|
- lib/action_pack/gem_version.rb
|
281
306
|
- lib/action_pack/version.rb
|
282
|
-
homepage:
|
307
|
+
homepage: https://rubyonrails.org
|
283
308
|
licenses:
|
284
309
|
- MIT
|
285
|
-
metadata:
|
286
|
-
|
310
|
+
metadata:
|
311
|
+
bug_tracker_uri: https://github.com/rails/rails/issues
|
312
|
+
changelog_uri: https://github.com/rails/rails/blob/v6.1.3.2/actionpack/CHANGELOG.md
|
313
|
+
documentation_uri: https://api.rubyonrails.org/v6.1.3.2/
|
314
|
+
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
315
|
+
source_code_uri: https://github.com/rails/rails/tree/v6.1.3.2/actionpack
|
316
|
+
post_install_message:
|
287
317
|
rdoc_options: []
|
288
318
|
require_paths:
|
289
319
|
- lib
|
@@ -291,7 +321,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
291
321
|
requirements:
|
292
322
|
- - ">="
|
293
323
|
- !ruby/object:Gem::Version
|
294
|
-
version:
|
324
|
+
version: 2.5.0
|
295
325
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
296
326
|
requirements:
|
297
327
|
- - ">="
|
@@ -299,9 +329,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
329
|
version: '0'
|
300
330
|
requirements:
|
301
331
|
- none
|
302
|
-
|
303
|
-
|
304
|
-
signing_key:
|
332
|
+
rubygems_version: 3.1.2
|
333
|
+
signing_key:
|
305
334
|
specification_version: 4
|
306
335
|
summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).
|
307
336
|
test_files: []
|
@@ -1,97 +0,0 @@
|
|
1
|
-
require 'active_support/core_ext/hash/except'
|
2
|
-
require 'active_support/core_ext/hash/slice'
|
3
|
-
|
4
|
-
module ActionController
|
5
|
-
# This module provides a method which will redirect browser to use HTTPS
|
6
|
-
# protocol. This will ensure that user's sensitive information will be
|
7
|
-
# transferred safely over the internet. You _should_ always force browser
|
8
|
-
# to use HTTPS when you're transferring sensitive information such as
|
9
|
-
# user authentication, account information, or credit card information.
|
10
|
-
#
|
11
|
-
# Note that if you are really concerned about your application security,
|
12
|
-
# you might consider using +config.force_ssl+ in your config file instead.
|
13
|
-
# That will ensure all the data transferred via HTTPS protocol and prevent
|
14
|
-
# user from getting session hijacked when accessing the site under unsecured
|
15
|
-
# HTTP protocol.
|
16
|
-
module ForceSSL
|
17
|
-
extend ActiveSupport::Concern
|
18
|
-
include AbstractController::Callbacks
|
19
|
-
|
20
|
-
ACTION_OPTIONS = [:only, :except, :if, :unless]
|
21
|
-
URL_OPTIONS = [:protocol, :host, :domain, :subdomain, :port, :path]
|
22
|
-
REDIRECT_OPTIONS = [:status, :flash, :alert, :notice]
|
23
|
-
|
24
|
-
module ClassMethods
|
25
|
-
# Force the request to this particular controller or specified actions to be
|
26
|
-
# under HTTPS protocol.
|
27
|
-
#
|
28
|
-
# If you need to disable this for any reason (e.g. development) then you can use
|
29
|
-
# an +:if+ or +:unless+ condition.
|
30
|
-
#
|
31
|
-
# class AccountsController < ApplicationController
|
32
|
-
# force_ssl if: :ssl_configured?
|
33
|
-
#
|
34
|
-
# def ssl_configured?
|
35
|
-
# !Rails.env.development?
|
36
|
-
# end
|
37
|
-
# end
|
38
|
-
#
|
39
|
-
# ==== URL Options
|
40
|
-
# You can pass any of the following options to affect the redirect url
|
41
|
-
# * <tt>host</tt> - Redirect to a different host name
|
42
|
-
# * <tt>subdomain</tt> - Redirect to a different subdomain
|
43
|
-
# * <tt>domain</tt> - Redirect to a different domain
|
44
|
-
# * <tt>port</tt> - Redirect to a non-standard port
|
45
|
-
# * <tt>path</tt> - Redirect to a different path
|
46
|
-
#
|
47
|
-
# ==== Redirect Options
|
48
|
-
# You can pass any of the following options to affect the redirect status and response
|
49
|
-
# * <tt>status</tt> - Redirect with a custom status (default is 301 Moved Permanently)
|
50
|
-
# * <tt>flash</tt> - Set a flash message when redirecting
|
51
|
-
# * <tt>alert</tt> - Set an alert message when redirecting
|
52
|
-
# * <tt>notice</tt> - Set a notice message when redirecting
|
53
|
-
#
|
54
|
-
# ==== Action Options
|
55
|
-
# You can pass any of the following options to affect the before_action callback
|
56
|
-
# * <tt>only</tt> - The callback should be run only for this action
|
57
|
-
# * <tt>except</tt> - The callback should be run for all actions except this action
|
58
|
-
# * <tt>if</tt> - A symbol naming an instance method or a proc; the callback
|
59
|
-
# will be called only when it returns a true value.
|
60
|
-
# * <tt>unless</tt> - A symbol naming an instance method or a proc; the callback
|
61
|
-
# will be called only when it returns a false value.
|
62
|
-
def force_ssl(options = {})
|
63
|
-
action_options = options.slice(*ACTION_OPTIONS)
|
64
|
-
redirect_options = options.except(*ACTION_OPTIONS)
|
65
|
-
before_action(action_options) do
|
66
|
-
force_ssl_redirect(redirect_options)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
# Redirect the existing request to use the HTTPS protocol.
|
72
|
-
#
|
73
|
-
# ==== Parameters
|
74
|
-
# * <tt>host_or_options</tt> - Either a host name or any of the url & redirect options
|
75
|
-
# available to the <tt>force_ssl</tt> method.
|
76
|
-
def force_ssl_redirect(host_or_options = nil)
|
77
|
-
unless request.ssl?
|
78
|
-
options = {
|
79
|
-
:protocol => 'https://',
|
80
|
-
:host => request.host,
|
81
|
-
:path => request.fullpath,
|
82
|
-
:status => :moved_permanently
|
83
|
-
}
|
84
|
-
|
85
|
-
if host_or_options.is_a?(Hash)
|
86
|
-
options.merge!(host_or_options)
|
87
|
-
elsif host_or_options
|
88
|
-
options[:host] = host_or_options
|
89
|
-
end
|
90
|
-
|
91
|
-
secure_url = ActionDispatch::Http::URL.url_for(options.slice(*URL_OPTIONS))
|
92
|
-
flash.keep if respond_to?(:flash)
|
93
|
-
redirect_to secure_url, options.slice(*REDIRECT_OPTIONS)
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
|
2
|
-
module ActionController
|
3
|
-
# Adds the ability to prevent public methods on a controller to be called as actions.
|
4
|
-
module HideActions
|
5
|
-
extend ActiveSupport::Concern
|
6
|
-
|
7
|
-
included do
|
8
|
-
class_attribute :hidden_actions
|
9
|
-
self.hidden_actions = Set.new.freeze
|
10
|
-
end
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
# Overrides AbstractController::Base#action_method? to return false if the
|
15
|
-
# action name is in the list of hidden actions.
|
16
|
-
def method_for_action(action_name)
|
17
|
-
self.class.visible_action?(action_name) && super
|
18
|
-
end
|
19
|
-
|
20
|
-
module ClassMethods
|
21
|
-
# Sets all of the actions passed in as hidden actions.
|
22
|
-
#
|
23
|
-
# ==== Parameters
|
24
|
-
# * <tt>args</tt> - A list of actions
|
25
|
-
def hide_action(*args)
|
26
|
-
self.hidden_actions = hidden_actions.dup.merge(args.map(&:to_s)).freeze
|
27
|
-
end
|
28
|
-
|
29
|
-
def visible_action?(action_name)
|
30
|
-
not hidden_actions.include?(action_name)
|
31
|
-
end
|
32
|
-
|
33
|
-
# Overrides AbstractController::Base#action_methods to remove any methods
|
34
|
-
# that are listed as hidden methods.
|
35
|
-
def action_methods
|
36
|
-
@action_methods ||= Set.new(super.reject { |name| hidden_actions.include?(name) }).freeze
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'action_dispatch/http/request'
|
2
|
-
require 'action_dispatch/http/response'
|
3
|
-
|
4
|
-
module ActionController
|
5
|
-
module RackDelegation
|
6
|
-
extend ActiveSupport::Concern
|
7
|
-
|
8
|
-
delegate :headers, :status=, :location=, :content_type=,
|
9
|
-
:status, :location, :content_type, :response_code, :to => "@_response"
|
10
|
-
|
11
|
-
def dispatch(action, request)
|
12
|
-
set_response!(request)
|
13
|
-
super(action, request)
|
14
|
-
end
|
15
|
-
|
16
|
-
def response_body=(body)
|
17
|
-
response.body = body if response
|
18
|
-
super
|
19
|
-
end
|
20
|
-
|
21
|
-
def reset_session
|
22
|
-
@_request.reset_session
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def set_response!(request)
|
28
|
-
@_response = ActionDispatch::Response.new
|
29
|
-
@_response.request = request
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module ActionController
|
2
|
-
class Middleware < Metal
|
3
|
-
class ActionMiddleware
|
4
|
-
def initialize(controller, app)
|
5
|
-
@controller, @app = controller, app
|
6
|
-
end
|
7
|
-
|
8
|
-
def call(env)
|
9
|
-
request = ActionDispatch::Request.new(env)
|
10
|
-
@controller.build(@app).dispatch(:index, request)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class << self
|
15
|
-
alias build new
|
16
|
-
|
17
|
-
def new(app)
|
18
|
-
ActionMiddleware.new(self, app)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
attr_internal :app
|
23
|
-
|
24
|
-
def process(action)
|
25
|
-
response = super
|
26
|
-
self.status, self.headers, self.response_body = response if response.is_a?(Array)
|
27
|
-
response
|
28
|
-
end
|
29
|
-
|
30
|
-
def initialize(app)
|
31
|
-
super()
|
32
|
-
@_app = app
|
33
|
-
end
|
34
|
-
|
35
|
-
def index
|
36
|
-
call(env)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module ActionController
|
2
|
-
module ModelNaming
|
3
|
-
# Converts the given object to an ActiveModel compliant one.
|
4
|
-
def convert_to_model(object)
|
5
|
-
object.respond_to?(:to_model) ? object.to_model : object
|
6
|
-
end
|
7
|
-
|
8
|
-
def model_name_from_record_or_class(record_or_class)
|
9
|
-
convert_to_model(record_or_class).model_name
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,72 +0,0 @@
|
|
1
|
-
module ActionDispatch
|
2
|
-
module Http
|
3
|
-
class ParameterFilter
|
4
|
-
FILTERED = '[FILTERED]'.freeze # :nodoc:
|
5
|
-
|
6
|
-
def initialize(filters = [])
|
7
|
-
@filters = filters
|
8
|
-
end
|
9
|
-
|
10
|
-
def filter(params)
|
11
|
-
compiled_filter.call(params)
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def compiled_filter
|
17
|
-
@compiled_filter ||= CompiledFilter.compile(@filters)
|
18
|
-
end
|
19
|
-
|
20
|
-
class CompiledFilter # :nodoc:
|
21
|
-
def self.compile(filters)
|
22
|
-
return lambda { |params| params.dup } if filters.empty?
|
23
|
-
|
24
|
-
strings, regexps, blocks = [], [], []
|
25
|
-
|
26
|
-
filters.each do |item|
|
27
|
-
case item
|
28
|
-
when Proc
|
29
|
-
blocks << item
|
30
|
-
when Regexp
|
31
|
-
regexps << item
|
32
|
-
else
|
33
|
-
strings << item.to_s
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
regexps << Regexp.new(strings.join('|'), true) unless strings.empty?
|
38
|
-
new regexps, blocks
|
39
|
-
end
|
40
|
-
|
41
|
-
attr_reader :regexps, :blocks
|
42
|
-
|
43
|
-
def initialize(regexps, blocks)
|
44
|
-
@regexps = regexps
|
45
|
-
@blocks = blocks
|
46
|
-
end
|
47
|
-
|
48
|
-
def call(original_params)
|
49
|
-
filtered_params = {}
|
50
|
-
|
51
|
-
original_params.each do |key, value|
|
52
|
-
if regexps.any? { |r| key =~ r }
|
53
|
-
value = FILTERED
|
54
|
-
elsif value.is_a?(Hash)
|
55
|
-
value = call(value)
|
56
|
-
elsif value.is_a?(Array)
|
57
|
-
value = value.map { |v| v.is_a?(Hash) ? call(v) : v }
|
58
|
-
elsif blocks.any?
|
59
|
-
key = key.dup if key.duplicable?
|
60
|
-
value = value.dup if value.duplicable?
|
61
|
-
blocks.each { |b| b.call(key, value) }
|
62
|
-
end
|
63
|
-
|
64
|
-
filtered_params[key] = value
|
65
|
-
end
|
66
|
-
|
67
|
-
filtered_params
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|