roda 3.83.0 → 3.84.0

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.
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