roda 3.83.0 → 3.84.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/lib/roda/plugins/hsts.rb +35 -0
  3. data/lib/roda/response.rb +1 -1
  4. data/lib/roda/version.rb +1 -1
  5. metadata +4 -179
  6. data/CHANGELOG +0 -691
  7. data/README.rdoc +0 -1136
  8. data/doc/conventions.rdoc +0 -177
  9. data/doc/release_notes/3.0.0.txt +0 -84
  10. data/doc/release_notes/3.1.0.txt +0 -24
  11. data/doc/release_notes/3.10.0.txt +0 -132
  12. data/doc/release_notes/3.11.0.txt +0 -54
  13. data/doc/release_notes/3.12.0.txt +0 -19
  14. data/doc/release_notes/3.13.0.txt +0 -38
  15. data/doc/release_notes/3.14.0.txt +0 -36
  16. data/doc/release_notes/3.14.1.txt +0 -43
  17. data/doc/release_notes/3.15.0.txt +0 -21
  18. data/doc/release_notes/3.16.0.txt +0 -52
  19. data/doc/release_notes/3.17.0.txt +0 -62
  20. data/doc/release_notes/3.18.0.txt +0 -170
  21. data/doc/release_notes/3.19.0.txt +0 -229
  22. data/doc/release_notes/3.2.0.txt +0 -22
  23. data/doc/release_notes/3.20.0.txt +0 -7
  24. data/doc/release_notes/3.21.0.txt +0 -5
  25. data/doc/release_notes/3.22.0.txt +0 -24
  26. data/doc/release_notes/3.23.0.txt +0 -28
  27. data/doc/release_notes/3.24.0.txt +0 -14
  28. data/doc/release_notes/3.25.0.txt +0 -12
  29. data/doc/release_notes/3.26.0.txt +0 -15
  30. data/doc/release_notes/3.27.0.txt +0 -15
  31. data/doc/release_notes/3.28.0.txt +0 -13
  32. data/doc/release_notes/3.29.0.txt +0 -15
  33. data/doc/release_notes/3.3.0.txt +0 -291
  34. data/doc/release_notes/3.30.0.txt +0 -14
  35. data/doc/release_notes/3.31.0.txt +0 -11
  36. data/doc/release_notes/3.32.0.txt +0 -42
  37. data/doc/release_notes/3.33.0.txt +0 -8
  38. data/doc/release_notes/3.34.0.txt +0 -17
  39. data/doc/release_notes/3.35.0.txt +0 -12
  40. data/doc/release_notes/3.36.0.txt +0 -17
  41. data/doc/release_notes/3.37.0.txt +0 -42
  42. data/doc/release_notes/3.38.0.txt +0 -5
  43. data/doc/release_notes/3.39.0.txt +0 -16
  44. data/doc/release_notes/3.4.0.txt +0 -24
  45. data/doc/release_notes/3.40.0.txt +0 -24
  46. data/doc/release_notes/3.41.0.txt +0 -9
  47. data/doc/release_notes/3.42.0.txt +0 -21
  48. data/doc/release_notes/3.43.0.txt +0 -34
  49. data/doc/release_notes/3.44.0.txt +0 -23
  50. data/doc/release_notes/3.45.0.txt +0 -22
  51. data/doc/release_notes/3.46.0.txt +0 -19
  52. data/doc/release_notes/3.47.0.txt +0 -13
  53. data/doc/release_notes/3.48.0.txt +0 -10
  54. data/doc/release_notes/3.49.0.txt +0 -18
  55. data/doc/release_notes/3.5.0.txt +0 -31
  56. data/doc/release_notes/3.50.0.txt +0 -21
  57. data/doc/release_notes/3.51.0.txt +0 -20
  58. data/doc/release_notes/3.52.0.txt +0 -20
  59. data/doc/release_notes/3.53.0.txt +0 -14
  60. data/doc/release_notes/3.54.0.txt +0 -48
  61. data/doc/release_notes/3.55.0.txt +0 -12
  62. data/doc/release_notes/3.56.0.txt +0 -33
  63. data/doc/release_notes/3.57.0.txt +0 -34
  64. data/doc/release_notes/3.58.0.txt +0 -16
  65. data/doc/release_notes/3.59.0.txt +0 -17
  66. data/doc/release_notes/3.6.0.txt +0 -21
  67. data/doc/release_notes/3.60.0.txt +0 -56
  68. data/doc/release_notes/3.61.0.txt +0 -24
  69. data/doc/release_notes/3.62.0.txt +0 -41
  70. data/doc/release_notes/3.63.0.txt +0 -36
  71. data/doc/release_notes/3.64.0.txt +0 -26
  72. data/doc/release_notes/3.65.0.txt +0 -12
  73. data/doc/release_notes/3.66.0.txt +0 -23
  74. data/doc/release_notes/3.67.0.txt +0 -25
  75. data/doc/release_notes/3.68.0.txt +0 -21
  76. data/doc/release_notes/3.69.0.txt +0 -33
  77. data/doc/release_notes/3.7.0.txt +0 -123
  78. data/doc/release_notes/3.70.0.txt +0 -19
  79. data/doc/release_notes/3.71.0.txt +0 -33
  80. data/doc/release_notes/3.72.0.txt +0 -48
  81. data/doc/release_notes/3.73.0.txt +0 -33
  82. data/doc/release_notes/3.74.0.txt +0 -28
  83. data/doc/release_notes/3.75.0.txt +0 -19
  84. data/doc/release_notes/3.76.0.txt +0 -18
  85. data/doc/release_notes/3.77.0.txt +0 -8
  86. data/doc/release_notes/3.78.0.txt +0 -99
  87. data/doc/release_notes/3.79.0.txt +0 -148
  88. data/doc/release_notes/3.8.0.txt +0 -27
  89. data/doc/release_notes/3.80.0.txt +0 -31
  90. data/doc/release_notes/3.81.0.txt +0 -24
  91. data/doc/release_notes/3.82.0.txt +0 -43
  92. data/doc/release_notes/3.83.0.txt +0 -6
  93. data/doc/release_notes/3.9.0.txt +0 -67
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f3ad50e6de6bdfa7e2019cbcbe4a07b920a23adb30645616340b8bc007951a1
4
- data.tar.gz: b5bd2835bb0f5286fb92555c602949482c4730b3497de4506a841a6ab3e80718
3
+ metadata.gz: 847704410e729b17a70bb30b3da0e7a2a539320c3394947269ca00c680e57c97
4
+ data.tar.gz: 8487b70418d90a811cca396a7c8fe52f87d9c6a93f34c7ca66316d8cb15a30b2
5
5
  SHA512:
6
- metadata.gz: 8e6937b542ae838a0b4e79171936fc3cd937faf127900b34265ff9e0923144bf5cf25879fe0103b43b51fb9c940e1dfc6c058f91eb02bab23177369e3b0424f7
7
- data.tar.gz: d7515ac6becbb47900713e5349b52eb41e284391c5a75743b4e3adcb3609a8ad09a20b8e38e7d85ddb59c52681396a9ec2b1b82b3264752731837b873907835d
6
+ metadata.gz: 94e7e1d8318aed73f0e491d8dae066b5a0c05a759cdadd690073d1ca8600acbb6269b0d1ab0cb51e038835563568e2a83db154dcf5ab5f72d4cfc809c0e94da5
7
+ data.tar.gz: 52e999ea7a16b47ad65b25ca52208f9b51d13ab8458ca24404e74606a9f3b6c9c5ea18b1bcb088b3e3495ac8f520b895af8eb23da07a85e96881f9008bafda1e
@@ -0,0 +1,35 @@
1
+ # frozen-string-literal: true
2
+
3
+ #
4
+ class Roda
5
+ module RodaPlugins
6
+ # The hsts plugin allows for easily configuring an appropriate
7
+ # Strict-Transport-Security response header for the application:
8
+ #
9
+ # plugin :hsts
10
+ # # Strict-Transport-Security: max-age=63072000; includeSubDomains
11
+ #
12
+ # plugin :hsts, preload: true
13
+ # # Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
14
+ #
15
+ # plugin :hsts, max_age: 31536000, subdomains: false
16
+ # # Strict-Transport-Security: max-age=31536000
17
+ module Hsts
18
+ # Ensure default_headers plugin is loaded first
19
+ def self.load_dependencies(app, opts=OPTS)
20
+ app.plugin :default_headers
21
+ end
22
+
23
+ # Configure the Strict-Transport-Security header. Options:
24
+ # :max_age :: Set max-age in seconds (default is 63072000, two years)
25
+ # :preload :: Set preload, so the domain can be included in HSTS preload lists
26
+ # :subdomains :: Set to false to not set includeSubDomains. By default,
27
+ # includeSubDomains is set to enforce HTTPS for subdomains.
28
+ def self.configure(app, opts=OPTS)
29
+ app.plugin :default_headers, RodaResponseHeaders::STRICT_TRANSPORT_SECURITY => "max-age=#{opts[:max_age]||63072000}#{'; includeSubDomains' unless opts[:subdomains] == false}#{'; preload' if opts[:preload]}".freeze
30
+ end
31
+ end
32
+
33
+ register_plugin(:hsts, Hsts)
34
+ end
35
+ end
data/lib/roda/response.rb CHANGED
@@ -15,7 +15,7 @@ class Roda
15
15
  %w'Allow Cache-Control Content-Disposition Content-Encoding Content-Length
16
16
  Content-Security-Policy Content-Security-Policy-Report-Only Content-Type
17
17
  ETag Expires Last-Modified Link Location Set-Cookie Transfer-Encoding Vary
18
- Permissions-Policy Permissions-Policy-Report-Only'.
18
+ Permissions-Policy Permissions-Policy-Report-Only Strict-Transport-Security'.
19
19
  each do |value|
20
20
  value = value.downcase if downcase
21
21
  const_set(value.gsub('-', '_').upcase!.to_sym, value.freeze)
data/lib/roda/version.rb CHANGED
@@ -4,7 +4,7 @@ class Roda
4
4
  RodaMajorVersion = 3
5
5
 
6
6
  # The minor version of Roda, updated for new feature releases of Roda.
7
- RodaMinorVersion = 83
7
+ RodaMinorVersion = 84
8
8
 
9
9
  # The patch version of Roda, updated only for bug fixes from the last
10
10
  # feature release.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roda
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.83.0
4
+ version: 3.84.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-12 00:00:00.000000000 Z
11
+ date: 2024-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -156,185 +156,9 @@ email:
156
156
  executables: []
157
157
  extensions: []
158
158
  extra_rdoc_files:
159
- - README.rdoc
160
159
  - MIT-LICENSE
161
- - CHANGELOG
162
- - doc/conventions.rdoc
163
- - doc/release_notes/3.0.0.txt
164
- - doc/release_notes/3.1.0.txt
165
- - doc/release_notes/3.10.0.txt
166
- - doc/release_notes/3.11.0.txt
167
- - doc/release_notes/3.12.0.txt
168
- - doc/release_notes/3.13.0.txt
169
- - doc/release_notes/3.14.0.txt
170
- - doc/release_notes/3.14.1.txt
171
- - doc/release_notes/3.15.0.txt
172
- - doc/release_notes/3.16.0.txt
173
- - doc/release_notes/3.17.0.txt
174
- - doc/release_notes/3.18.0.txt
175
- - doc/release_notes/3.19.0.txt
176
- - doc/release_notes/3.2.0.txt
177
- - doc/release_notes/3.20.0.txt
178
- - doc/release_notes/3.21.0.txt
179
- - doc/release_notes/3.22.0.txt
180
- - doc/release_notes/3.23.0.txt
181
- - doc/release_notes/3.24.0.txt
182
- - doc/release_notes/3.25.0.txt
183
- - doc/release_notes/3.26.0.txt
184
- - doc/release_notes/3.27.0.txt
185
- - doc/release_notes/3.28.0.txt
186
- - doc/release_notes/3.29.0.txt
187
- - doc/release_notes/3.3.0.txt
188
- - doc/release_notes/3.30.0.txt
189
- - doc/release_notes/3.31.0.txt
190
- - doc/release_notes/3.32.0.txt
191
- - doc/release_notes/3.33.0.txt
192
- - doc/release_notes/3.34.0.txt
193
- - doc/release_notes/3.35.0.txt
194
- - doc/release_notes/3.36.0.txt
195
- - doc/release_notes/3.37.0.txt
196
- - doc/release_notes/3.38.0.txt
197
- - doc/release_notes/3.39.0.txt
198
- - doc/release_notes/3.4.0.txt
199
- - doc/release_notes/3.40.0.txt
200
- - doc/release_notes/3.41.0.txt
201
- - doc/release_notes/3.42.0.txt
202
- - doc/release_notes/3.43.0.txt
203
- - doc/release_notes/3.44.0.txt
204
- - doc/release_notes/3.45.0.txt
205
- - doc/release_notes/3.46.0.txt
206
- - doc/release_notes/3.47.0.txt
207
- - doc/release_notes/3.48.0.txt
208
- - doc/release_notes/3.49.0.txt
209
- - doc/release_notes/3.5.0.txt
210
- - doc/release_notes/3.50.0.txt
211
- - doc/release_notes/3.51.0.txt
212
- - doc/release_notes/3.52.0.txt
213
- - doc/release_notes/3.53.0.txt
214
- - doc/release_notes/3.54.0.txt
215
- - doc/release_notes/3.55.0.txt
216
- - doc/release_notes/3.56.0.txt
217
- - doc/release_notes/3.57.0.txt
218
- - doc/release_notes/3.58.0.txt
219
- - doc/release_notes/3.59.0.txt
220
- - doc/release_notes/3.6.0.txt
221
- - doc/release_notes/3.60.0.txt
222
- - doc/release_notes/3.61.0.txt
223
- - doc/release_notes/3.62.0.txt
224
- - doc/release_notes/3.63.0.txt
225
- - doc/release_notes/3.64.0.txt
226
- - doc/release_notes/3.65.0.txt
227
- - doc/release_notes/3.66.0.txt
228
- - doc/release_notes/3.67.0.txt
229
- - doc/release_notes/3.68.0.txt
230
- - doc/release_notes/3.69.0.txt
231
- - doc/release_notes/3.7.0.txt
232
- - doc/release_notes/3.70.0.txt
233
- - doc/release_notes/3.71.0.txt
234
- - doc/release_notes/3.72.0.txt
235
- - doc/release_notes/3.73.0.txt
236
- - doc/release_notes/3.74.0.txt
237
- - doc/release_notes/3.75.0.txt
238
- - doc/release_notes/3.76.0.txt
239
- - doc/release_notes/3.77.0.txt
240
- - doc/release_notes/3.78.0.txt
241
- - doc/release_notes/3.79.0.txt
242
- - doc/release_notes/3.8.0.txt
243
- - doc/release_notes/3.80.0.txt
244
- - doc/release_notes/3.81.0.txt
245
- - doc/release_notes/3.82.0.txt
246
- - doc/release_notes/3.83.0.txt
247
- - doc/release_notes/3.9.0.txt
248
160
  files:
249
- - CHANGELOG
250
161
  - MIT-LICENSE
251
- - README.rdoc
252
- - doc/conventions.rdoc
253
- - doc/release_notes/3.0.0.txt
254
- - doc/release_notes/3.1.0.txt
255
- - doc/release_notes/3.10.0.txt
256
- - doc/release_notes/3.11.0.txt
257
- - doc/release_notes/3.12.0.txt
258
- - doc/release_notes/3.13.0.txt
259
- - doc/release_notes/3.14.0.txt
260
- - doc/release_notes/3.14.1.txt
261
- - doc/release_notes/3.15.0.txt
262
- - doc/release_notes/3.16.0.txt
263
- - doc/release_notes/3.17.0.txt
264
- - doc/release_notes/3.18.0.txt
265
- - doc/release_notes/3.19.0.txt
266
- - doc/release_notes/3.2.0.txt
267
- - doc/release_notes/3.20.0.txt
268
- - doc/release_notes/3.21.0.txt
269
- - doc/release_notes/3.22.0.txt
270
- - doc/release_notes/3.23.0.txt
271
- - doc/release_notes/3.24.0.txt
272
- - doc/release_notes/3.25.0.txt
273
- - doc/release_notes/3.26.0.txt
274
- - doc/release_notes/3.27.0.txt
275
- - doc/release_notes/3.28.0.txt
276
- - doc/release_notes/3.29.0.txt
277
- - doc/release_notes/3.3.0.txt
278
- - doc/release_notes/3.30.0.txt
279
- - doc/release_notes/3.31.0.txt
280
- - doc/release_notes/3.32.0.txt
281
- - doc/release_notes/3.33.0.txt
282
- - doc/release_notes/3.34.0.txt
283
- - doc/release_notes/3.35.0.txt
284
- - doc/release_notes/3.36.0.txt
285
- - doc/release_notes/3.37.0.txt
286
- - doc/release_notes/3.38.0.txt
287
- - doc/release_notes/3.39.0.txt
288
- - doc/release_notes/3.4.0.txt
289
- - doc/release_notes/3.40.0.txt
290
- - doc/release_notes/3.41.0.txt
291
- - doc/release_notes/3.42.0.txt
292
- - doc/release_notes/3.43.0.txt
293
- - doc/release_notes/3.44.0.txt
294
- - doc/release_notes/3.45.0.txt
295
- - doc/release_notes/3.46.0.txt
296
- - doc/release_notes/3.47.0.txt
297
- - doc/release_notes/3.48.0.txt
298
- - doc/release_notes/3.49.0.txt
299
- - doc/release_notes/3.5.0.txt
300
- - doc/release_notes/3.50.0.txt
301
- - doc/release_notes/3.51.0.txt
302
- - doc/release_notes/3.52.0.txt
303
- - doc/release_notes/3.53.0.txt
304
- - doc/release_notes/3.54.0.txt
305
- - doc/release_notes/3.55.0.txt
306
- - doc/release_notes/3.56.0.txt
307
- - doc/release_notes/3.57.0.txt
308
- - doc/release_notes/3.58.0.txt
309
- - doc/release_notes/3.59.0.txt
310
- - doc/release_notes/3.6.0.txt
311
- - doc/release_notes/3.60.0.txt
312
- - doc/release_notes/3.61.0.txt
313
- - doc/release_notes/3.62.0.txt
314
- - doc/release_notes/3.63.0.txt
315
- - doc/release_notes/3.64.0.txt
316
- - doc/release_notes/3.65.0.txt
317
- - doc/release_notes/3.66.0.txt
318
- - doc/release_notes/3.67.0.txt
319
- - doc/release_notes/3.68.0.txt
320
- - doc/release_notes/3.69.0.txt
321
- - doc/release_notes/3.7.0.txt
322
- - doc/release_notes/3.70.0.txt
323
- - doc/release_notes/3.71.0.txt
324
- - doc/release_notes/3.72.0.txt
325
- - doc/release_notes/3.73.0.txt
326
- - doc/release_notes/3.74.0.txt
327
- - doc/release_notes/3.75.0.txt
328
- - doc/release_notes/3.76.0.txt
329
- - doc/release_notes/3.77.0.txt
330
- - doc/release_notes/3.78.0.txt
331
- - doc/release_notes/3.79.0.txt
332
- - doc/release_notes/3.8.0.txt
333
- - doc/release_notes/3.80.0.txt
334
- - doc/release_notes/3.81.0.txt
335
- - doc/release_notes/3.82.0.txt
336
- - doc/release_notes/3.83.0.txt
337
- - doc/release_notes/3.9.0.txt
338
162
  - lib/roda.rb
339
163
  - lib/roda/cache.rb
340
164
  - lib/roda/plugins.rb
@@ -399,6 +223,7 @@ files:
399
223
  - lib/roda/plugins/hmac_paths.rb
400
224
  - lib/roda/plugins/hooks.rb
401
225
  - lib/roda/plugins/host_authorization.rb
226
+ - lib/roda/plugins/hsts.rb
402
227
  - lib/roda/plugins/indifferent_params.rb
403
228
  - lib/roda/plugins/inject_erb.rb
404
229
  - lib/roda/plugins/invalid_request_body.rb
@@ -500,7 +325,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
500
325
  - !ruby/object:Gem::Version
501
326
  version: '0'
502
327
  requirements: []
503
- rubygems_version: 3.5.11
328
+ rubygems_version: 3.5.16
504
329
  signing_key:
505
330
  specification_version: 4
506
331
  summary: Routing tree web toolkit