checkoff 0.219.0 → 0.221.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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +3 -4
  3. data/.overcommit.yml +2 -0
  4. data/.rubocop.yml +4 -0
  5. data/.rubocop_todo.yml +2 -1
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +42 -8
  8. data/Makefile +13 -7
  9. data/bin/tapioca +1 -1
  10. data/checkoff.gemspec +1 -0
  11. data/fix.sh +1 -0
  12. data/lib/checkoff/tasks.rb +8 -2
  13. data/lib/checkoff/version.rb +1 -1
  14. data/sorbet/rbi/gems/{activesupport@7.1.3.rbi → activesupport@7.1.5.rbi} +157 -160
  15. data/sorbet/rbi/gems/brakeman@6.2.2.rbi +222 -0
  16. data/sorbet/rbi/gems/{i18n@1.14.1.rbi → i18n@1.14.6.rbi} +135 -102
  17. data/sorbet/rbi/gems/{logger@1.6.1.rbi → logger@1.6.2.rbi} +4 -1
  18. data/sorbet/rbi/gems/{mutex_m@0.2.0.rbi → mutex_m@0.3.0.rbi} +15 -12
  19. data/sorbet/rbi/gems/{nokogiri@1.16.7.rbi → nokogiri@1.17.0.rbi} +1693 -803
  20. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.1.rbi} +33 -33
  21. data/sorbet/rbi/gems/{rack@3.0.8.rbi → rack@3.1.8.rbi} +697 -985
  22. data/sorbet/rbi/gems/{rexml@3.2.6.rbi → rexml@3.3.9.rbi} +354 -278
  23. data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +7546 -0
  24. data/sorbet/rbi/gems/securerandom@0.4.0.rbi +75 -0
  25. data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +320 -0
  26. data/sorbet/rbi/gems/{tapioca@0.16.4.rbi → tapioca@0.16.5.rbi} +89 -76
  27. data/sorbet/rbi/gems/{yard@0.9.34.rbi → yard@0.9.37.rbi} +429 -270
  28. metadata +33 -16
  29. data/sorbet/rbi/gems/ostruct@0.6.1.rbi +0 -354
  30. /data/sorbet/rbi/gems/{drb@2.2.0.rbi → drb@2.2.1.rbi} +0 -0
  31. /data/sorbet/rbi/gems/{gli@2.21.1.rbi → gli@2.22.0.rbi} +0 -0
  32. /data/sorbet/rbi/gems/{overcommit@0.64.0.rbi → overcommit@0.64.1.rbi} +0 -0
@@ -16,17 +16,12 @@ module Rack
16
16
  class << self
17
17
  # Return the Rack release as a dotted string.
18
18
  #
19
- # source://rack//lib/rack/version.rb#31
19
+ # source://rack//lib/rack/version.rb#18
20
20
  def release; end
21
-
22
- # The Rack protocol version number implemented.
23
- #
24
- # source://rack//lib/rack/version.rb#23
25
- def version; end
26
21
  end
27
22
  end
28
23
 
29
- # source://rack//lib/rack.rb#65
24
+ # source://rack//lib/rack.rb#60
30
25
  module Rack::Auth; end
31
26
 
32
27
  # Rack::Auth::AbstractHandler implements common authentication functionality.
@@ -104,273 +99,44 @@ Rack::Auth::AbstractRequest::AUTHORIZATION_KEYS = T.let(T.unsafe(nil), Array)
104
99
  # Initialize with the Rack application that you want protecting,
105
100
  # and a block that checks if a username and password pair are valid.
106
101
  #
107
- # source://rack//lib/rack/auth/basic.rb#14
102
+ # source://rack//lib/rack/auth/basic.rb#13
108
103
  class Rack::Auth::Basic < ::Rack::Auth::AbstractHandler
109
- # source://rack//lib/rack/auth/basic.rb#16
104
+ # source://rack//lib/rack/auth/basic.rb#15
110
105
  def call(env); end
111
106
 
112
107
  private
113
108
 
114
- # source://rack//lib/rack/auth/basic.rb#35
109
+ # source://rack//lib/rack/auth/basic.rb#34
115
110
  def challenge; end
116
111
 
117
112
  # @return [Boolean]
118
113
  #
119
- # source://rack//lib/rack/auth/basic.rb#39
114
+ # source://rack//lib/rack/auth/basic.rb#38
120
115
  def valid?(auth); end
121
116
  end
122
117
 
123
- # source://rack//lib/rack/auth/basic.rb#43
118
+ # source://rack//lib/rack/auth/basic.rb#42
124
119
  class Rack::Auth::Basic::Request < ::Rack::Auth::AbstractRequest
125
120
  # @return [Boolean]
126
121
  #
127
- # source://rack//lib/rack/auth/basic.rb#44
122
+ # source://rack//lib/rack/auth/basic.rb#43
128
123
  def basic?; end
129
124
 
130
- # source://rack//lib/rack/auth/basic.rb#48
125
+ # source://rack//lib/rack/auth/basic.rb#47
131
126
  def credentials; end
132
127
 
133
- # source://rack//lib/rack/auth/basic.rb#52
128
+ # source://rack//lib/rack/auth/basic.rb#51
134
129
  def username; end
135
130
  end
136
131
 
137
- # source://rack//lib/rack/auth/digest.rb#12
138
- module Rack::Auth::Digest; end
132
+ # source://rack//lib/rack/builder.rb#6
133
+ Rack::BUILDER_TOPLEVEL_BINDING = T.let(T.unsafe(nil), Proc)
139
134
 
140
- # Rack::Auth::Digest::MD5 implements the MD5 algorithm version of
141
- # HTTP Digest Authentication, as per RFC 2617.
142
- #
143
- # Initialize with the [Rack] application that you want protecting,
144
- # and a block that looks up a plaintext password for a given username.
135
+ # Represents a 400 Bad Request error when input data fails to meet the
136
+ # requirements.
145
137
  #
146
- # +opaque+ needs to be set to a constant base64/hexadecimal string.
147
- #
148
- # source://rack//lib/rack/auth/digest.rb#144
149
- class Rack::Auth::Digest::MD5 < ::Rack::Auth::AbstractHandler
150
- # @return [MD5] a new instance of MD5
151
- #
152
- # source://rack//lib/rack/auth/digest.rb#150
153
- def initialize(app, realm = T.unsafe(nil), opaque = T.unsafe(nil), &authenticator); end
154
-
155
- # source://rack//lib/rack/auth/digest.rb#163
156
- def call(env); end
157
-
158
- # Returns the value of attribute opaque.
159
- #
160
- # source://rack//lib/rack/auth/digest.rb#146
161
- def opaque; end
162
-
163
- # Sets the attribute opaque
164
- #
165
- # @param value the value to set the attribute opaque to.
166
- #
167
- # source://rack//lib/rack/auth/digest.rb#146
168
- def opaque=(_arg0); end
169
-
170
- # Sets the attribute passwords_hashed
171
- #
172
- # @param value the value to set the attribute passwords_hashed to.
173
- #
174
- # source://rack//lib/rack/auth/digest.rb#148
175
- def passwords_hashed=(_arg0); end
176
-
177
- # @return [Boolean]
178
- #
179
- # source://rack//lib/rack/auth/digest.rb#159
180
- def passwords_hashed?; end
181
-
182
- private
183
-
184
- # source://rack//lib/rack/auth/digest.rb#238
185
- def A1(auth, password); end
186
-
187
- # source://rack//lib/rack/auth/digest.rb#242
188
- def A2(auth); end
189
-
190
- # source://rack//lib/rack/auth/digest.rb#228
191
- def H(data); end
192
-
193
- # source://rack//lib/rack/auth/digest.rb#234
194
- def KD(secret, data); end
195
-
196
- # source://rack//lib/rack/auth/digest.rb#203
197
- def challenge(hash = T.unsafe(nil)); end
198
-
199
- # source://rack//lib/rack/auth/digest.rb#246
200
- def digest(auth, password); end
201
-
202
- # source://rack//lib/rack/auth/digest.rb#228
203
- def md5(data); end
204
-
205
- # source://rack//lib/rack/auth/digest.rb#192
206
- def params(hash = T.unsafe(nil)); end
207
-
208
- # @return [Boolean]
209
- #
210
- # source://rack//lib/rack/auth/digest.rb#207
211
- def valid?(auth); end
212
-
213
- # @return [Boolean]
214
- #
215
- # source://rack//lib/rack/auth/digest.rb#223
216
- def valid_digest?(auth); end
217
-
218
- # @return [Boolean]
219
- #
220
- # source://rack//lib/rack/auth/digest.rb#219
221
- def valid_nonce?(auth); end
222
-
223
- # @return [Boolean]
224
- #
225
- # source://rack//lib/rack/auth/digest.rb#215
226
- def valid_opaque?(auth); end
227
-
228
- # @return [Boolean]
229
- #
230
- # source://rack//lib/rack/auth/digest.rb#211
231
- def valid_qop?(auth); end
232
- end
233
-
234
- # source://rack//lib/rack/auth/digest.rb#190
235
- Rack::Auth::Digest::MD5::QOP = T.let(T.unsafe(nil), String)
236
-
237
- # Rack::Auth::Digest::Nonce is the default nonce generator for the
238
- # Rack::Auth::Digest::MD5 authentication handler.
239
- #
240
- # +private_key+ needs to set to a constant string.
241
- #
242
- # +time_limit+ can be optionally set to an integer (number of seconds),
243
- # to limit the validity of the generated nonces.
244
- #
245
- # source://rack//lib/rack/auth/digest.rb#21
246
- class Rack::Auth::Digest::Nonce
247
- # @return [Nonce] a new instance of Nonce
248
- #
249
- # source://rack//lib/rack/auth/digest.rb#31
250
- def initialize(timestamp = T.unsafe(nil), given_digest = T.unsafe(nil)); end
251
-
252
- # source://rack//lib/rack/auth/digest.rb#39
253
- def digest; end
254
-
255
- # @return [Boolean]
256
- #
257
- # source://rack//lib/rack/auth/digest.rb#51
258
- def fresh?; end
259
-
260
- # @return [Boolean]
261
- #
262
- # source://rack//lib/rack/auth/digest.rb#47
263
- def stale?; end
264
-
265
- # source://rack//lib/rack/auth/digest.rb#35
266
- def to_s; end
267
-
268
- # @return [Boolean]
269
- #
270
- # source://rack//lib/rack/auth/digest.rb#43
271
- def valid?; end
272
-
273
- class << self
274
- # source://rack//lib/rack/auth/digest.rb#27
275
- def parse(string); end
276
-
277
- # Returns the value of attribute private_key.
278
- #
279
- # source://rack//lib/rack/auth/digest.rb#24
280
- def private_key; end
281
-
282
- # Sets the attribute private_key
283
- #
284
- # @param value the value to set the attribute private_key to.
285
- #
286
- # source://rack//lib/rack/auth/digest.rb#24
287
- def private_key=(_arg0); end
288
-
289
- # Returns the value of attribute time_limit.
290
- #
291
- # source://rack//lib/rack/auth/digest.rb#24
292
- def time_limit; end
293
-
294
- # Sets the attribute time_limit
295
- #
296
- # @param value the value to set the attribute time_limit to.
297
- #
298
- # source://rack//lib/rack/auth/digest.rb#24
299
- def time_limit=(_arg0); end
300
- end
301
- end
302
-
303
- # source://rack//lib/rack/auth/digest.rb#57
304
- class Rack::Auth::Digest::Params < ::Hash
305
- # @return [Params] a new instance of Params
306
- # @yield [_self]
307
- # @yieldparam _self [Rack::Auth::Digest::Params] the object that the method was called on
308
- #
309
- # source://rack//lib/rack/auth/digest.rb#76
310
- def initialize; end
311
-
312
- # source://rack//lib/rack/auth/digest.rb#82
313
- def [](k); end
314
-
315
- # source://rack//lib/rack/auth/digest.rb#86
316
- def []=(k, v); end
317
-
318
- # From WEBrick::HTTPUtils
319
- #
320
- # source://rack//lib/rack/auth/digest.rb#98
321
- def quote(str); end
322
-
323
- # source://rack//lib/rack/auth/digest.rb#92
324
- def to_s; end
325
-
326
- class << self
327
- # From WEBrick::HTTPUtils
328
- #
329
- # source://rack//lib/rack/auth/digest.rb#66
330
- def dequote(str); end
331
-
332
- # source://rack//lib/rack/auth/digest.rb#59
333
- def parse(str); end
334
-
335
- # source://rack//lib/rack/auth/digest.rb#72
336
- def split_header_value(str); end
337
- end
338
- end
339
-
340
- # source://rack//lib/rack/auth/digest.rb#90
341
- Rack::Auth::Digest::Params::UNQUOTED = T.let(T.unsafe(nil), Array)
342
-
343
- # source://rack//lib/rack/auth/digest.rb#104
344
- class Rack::Auth::Digest::Request < ::Rack::Auth::AbstractRequest
345
- # @return [Boolean]
346
- #
347
- # source://rack//lib/rack/auth/digest.rb#113
348
- def correct_uri?; end
349
-
350
- # @return [Boolean]
351
- #
352
- # source://rack//lib/rack/auth/digest.rb#109
353
- def digest?; end
354
-
355
- # source://rack//lib/rack/auth/digest.rb#105
356
- def method; end
357
-
358
- # @raise [ArgumentError]
359
- #
360
- # source://rack//lib/rack/auth/digest.rb#129
361
- def method_missing(sym, *args); end
362
-
363
- # source://rack//lib/rack/auth/digest.rb#117
364
- def nonce; end
365
-
366
- # source://rack//lib/rack/auth/digest.rb#121
367
- def params; end
368
-
369
- # @return [Boolean]
370
- #
371
- # source://rack//lib/rack/auth/digest.rb#125
372
- def respond_to?(sym, *_arg1); end
373
- end
138
+ # source://rack//lib/rack/bad_request.rb#6
139
+ module Rack::BadRequest; end
374
140
 
375
141
  # Proxy for response bodies allowing calling a block when
376
142
  # the response body is closed (after the response has been fully
@@ -389,7 +155,7 @@ class Rack::BodyProxy
389
155
  # If not already closed, close the wrapped body and
390
156
  # then call the block the proxy was initialized with.
391
157
  #
392
- # source://rack//lib/rack/body_proxy.rb#23
158
+ # source://rack//lib/rack/body_proxy.rb#28
393
159
  def close; end
394
160
 
395
161
  # Whether the proxy is closed. The proxy starts as not closed,
@@ -397,12 +163,12 @@ class Rack::BodyProxy
397
163
  #
398
164
  # @return [Boolean]
399
165
  #
400
- # source://rack//lib/rack/body_proxy.rb#35
166
+ # source://rack//lib/rack/body_proxy.rb#40
401
167
  def closed?; end
402
168
 
403
169
  # Delegate missing methods to the wrapped body.
404
170
  #
405
- # source://rack//lib/rack/body_proxy.rb#40
171
+ # source://rack//lib/rack/body_proxy.rb#45
406
172
  def method_missing(method_name, *args, **_arg2, &block); end
407
173
 
408
174
  private
@@ -443,7 +209,7 @@ end
443
209
  # +use+ adds middleware to the stack, +run+ dispatches to an application.
444
210
  # You can use +map+ to construct a Rack::URLMap in a convenient way.
445
211
  #
446
- # source://rack//lib/rack/builder.rb#33
212
+ # source://rack//lib/rack/builder.rb#36
447
213
  class Rack::Builder
448
214
  # Initialize a new Rack::Builder instance. +default_app+ specifies the
449
215
  # default application if +run+ is not called later. If a block
@@ -451,20 +217,20 @@ class Rack::Builder
451
217
  #
452
218
  # @return [Builder] a new instance of Builder
453
219
  #
454
- # source://rack//lib/rack/builder.rb#111
455
- def initialize(default_app = T.unsafe(nil), &block); end
220
+ # source://rack//lib/rack/builder.rb#116
221
+ def initialize(default_app = T.unsafe(nil), **options, &block); end
456
222
 
457
223
  # Call the Rack application generated by this builder instance. Note that
458
224
  # this rebuilds the Rack application and runs the warmup code (if any)
459
225
  # every time it is called, so it should not be used if performance is important.
460
226
  #
461
- # source://rack//lib/rack/builder.rb#263
227
+ # source://rack//lib/rack/builder.rb#276
462
228
  def call(env); end
463
229
 
464
230
  # Freeze the app (set using run) and all middleware instances when building the application
465
231
  # in to_app.
466
232
  #
467
- # source://rack//lib/rack/builder.rb#246
233
+ # source://rack//lib/rack/builder.rb#259
468
234
  def freeze_app; end
469
235
 
470
236
  # Creates a route within the application. Routes under the mapped path will be sent to
@@ -507,9 +273,18 @@ class Rack::Builder
507
273
  # Note that providing a +path+ of +/+ will ignore any default application given in a +run+ statement
508
274
  # outside the block.
509
275
  #
510
- # source://rack//lib/rack/builder.rb#239
276
+ # source://rack//lib/rack/builder.rb#252
511
277
  def map(path, &block); end
512
278
 
279
+ # Any options provided to the Rack::Builder instance at initialization.
280
+ # These options can be server-specific. Some general options are:
281
+ #
282
+ # * +:isolation+: One of +process+, +thread+ or +fiber+. The execution
283
+ # isolation model to use.
284
+ #
285
+ # source://rack//lib/rack/builder.rb#132
286
+ def options; end
287
+
513
288
  # Takes a block or argument that is an object that responds to #call and
514
289
  # returns a Rack response.
515
290
  #
@@ -535,12 +310,12 @@ class Rack::Builder
535
310
  #
536
311
  # @raise [ArgumentError]
537
312
  #
538
- # source://rack//lib/rack/builder.rb#180
313
+ # source://rack//lib/rack/builder.rb#193
539
314
  def run(app = T.unsafe(nil), &block); end
540
315
 
541
316
  # Return the Rack application generated by this instance.
542
317
  #
543
- # source://rack//lib/rack/builder.rb#251
318
+ # source://rack//lib/rack/builder.rb#264
544
319
  def to_app; end
545
320
 
546
321
  # Specifies middleware to use in a stack.
@@ -563,7 +338,7 @@ class Rack::Builder
563
338
  # The +call+ method in this example sets an additional environment key which then can be
564
339
  # referenced in the application if required.
565
340
  #
566
- # source://rack//lib/rack/builder.rb#146
341
+ # source://rack//lib/rack/builder.rb#159
567
342
  def use(middleware, *args, **_arg2, &block); end
568
343
 
569
344
  # Takes a lambda or block that is used to warm-up the application. This block is called
@@ -577,7 +352,7 @@ class Rack::Builder
577
352
  # use SomeMiddleware
578
353
  # run MyApp
579
354
  #
580
- # source://rack//lib/rack/builder.rb#196
355
+ # source://rack//lib/rack/builder.rb#209
581
356
  def warmup(prc = T.unsafe(nil), &block); end
582
357
 
583
358
  private
@@ -585,14 +360,14 @@ class Rack::Builder
585
360
  # Generate a URLMap instance by generating new Rack applications for each
586
361
  # map block in this instance.
587
362
  #
588
- # source://rack//lib/rack/builder.rb#271
363
+ # source://rack//lib/rack/builder.rb#284
589
364
  def generate_map(default_app, mapping); end
590
365
 
591
366
  class << self
592
367
  # Create a new Rack::Builder instance and return the Rack application
593
368
  # generated from it.
594
369
  #
595
- # source://rack//lib/rack/builder.rb#123
370
+ # source://rack//lib/rack/builder.rb#136
596
371
  def app(default_app = T.unsafe(nil), &block); end
597
372
 
598
373
  # Load the given file as a rackup file, treating the
@@ -609,14 +384,14 @@ class Rack::Builder
609
384
  # require './app.rb'
610
385
  # run App
611
386
  #
612
- # source://rack//lib/rack/builder.rb#84
613
- def load_file(path); end
387
+ # source://rack//lib/rack/builder.rb#87
388
+ def load_file(path, **options); end
614
389
 
615
390
  # Evaluate the given +builder_script+ string in the context of
616
391
  # a Rack::Builder block, returning a Rack application.
617
392
  #
618
- # source://rack//lib/rack/builder.rb#99
619
- def new_from_string(builder_script, file = T.unsafe(nil)); end
393
+ # source://rack//lib/rack/builder.rb#102
394
+ def new_from_string(builder_script, path = T.unsafe(nil), **options); end
620
395
 
621
396
  # Parse the given config file to get a Rack application.
622
397
  #
@@ -636,21 +411,21 @@ class Rack::Builder
636
411
  # Rack::Builder.parse_file('app.rb')
637
412
  # # requires app.rb, which can be anywhere in Ruby's
638
413
  # # load path. After requiring, assumes App constant
639
- # # contains Rack application
414
+ # # is a Rack application
640
415
  #
641
416
  # Rack::Builder.parse_file('./my_app.rb')
642
417
  # # requires ./my_app.rb, which should be in the
643
418
  # # process's current directory. After requiring,
644
- # # assumes MyApp constant contains Rack application
419
+ # # assumes MyApp constant is a Rack application
645
420
  #
646
- # source://rack//lib/rack/builder.rb#62
647
- def parse_file(path); end
421
+ # source://rack//lib/rack/builder.rb#65
422
+ def parse_file(path, **options); end
648
423
  end
649
424
  end
650
425
 
651
426
  # https://stackoverflow.com/questions/2223882/whats-the-difference-between-utf-8-and-utf-8-without-bom
652
427
  #
653
- # source://rack//lib/rack/builder.rb#36
428
+ # source://rack//lib/rack/builder.rb#39
654
429
  Rack::Builder::UTF_8_BOM = T.let(T.unsafe(nil), String)
655
430
 
656
431
  # Response Header Keys
@@ -658,6 +433,9 @@ Rack::Builder::UTF_8_BOM = T.let(T.unsafe(nil), String)
658
433
  # source://rack//lib/rack/constants.rb#19
659
434
  Rack::CACHE_CONTROL = T.let(T.unsafe(nil), String)
660
435
 
436
+ # source://rack//lib/rack/constants.rb#35
437
+ Rack::CONNECT = T.let(T.unsafe(nil), String)
438
+
661
439
  # source://rack//lib/rack/constants.rb#20
662
440
  Rack::CONTENT_LENGTH = T.let(T.unsafe(nil), String)
663
441
 
@@ -680,142 +458,41 @@ class Rack::Cascade
680
458
  #
681
459
  # @return [Cascade] a new instance of Cascade
682
460
  #
683
- # source://rack//lib/rack/cascade.rb#24
461
+ # source://rack//lib/rack/cascade.rb#21
684
462
  def initialize(apps, cascade_for = T.unsafe(nil)); end
685
463
 
686
464
  # Append an app to the list of apps to cascade. This app will
687
465
  # be tried last.
688
466
  #
689
- # source://rack//lib/rack/cascade.rb#59
467
+ # source://rack//lib/rack/cascade.rb#56
690
468
  def <<(app); end
691
469
 
692
470
  # Append an app to the list of apps to cascade. This app will
693
471
  # be tried last.
694
472
  #
695
- # source://rack//lib/rack/cascade.rb#59
473
+ # source://rack//lib/rack/cascade.rb#56
696
474
  def add(app); end
697
475
 
698
476
  # An array of applications to try in order.
699
477
  #
700
- # source://rack//lib/rack/cascade.rb#16
478
+ # source://rack//lib/rack/cascade.rb#13
701
479
  def apps; end
702
480
 
703
481
  # Call each app in order. If the responses uses a status that requires
704
482
  # cascading, try the next app. If all responses require cascading,
705
483
  # return the response from the last app.
706
484
  #
707
- # source://rack//lib/rack/cascade.rb#35
485
+ # source://rack//lib/rack/cascade.rb#32
708
486
  def call(env); end
709
487
 
710
488
  # Whether the given app is one of the apps to cascade to.
711
489
  #
712
490
  # @return [Boolean]
713
491
  #
714
- # source://rack//lib/rack/cascade.rb#64
492
+ # source://rack//lib/rack/cascade.rb#61
715
493
  def include?(app); end
716
494
  end
717
495
 
718
- # deprecated, no longer used
719
- #
720
- # source://rack//lib/rack/cascade.rb#13
721
- Rack::Cascade::NotFound = T.let(T.unsafe(nil), Array)
722
-
723
- # Middleware that applies chunked transfer encoding to response bodies
724
- # when the response does not include a content-length header.
725
- #
726
- # This supports the trailer response header to allow the use of trailing
727
- # headers in the chunked encoding. However, using this requires you manually
728
- # specify a response body that supports a +trailers+ method. Example:
729
- #
730
- # [200, { 'trailer' => 'expires'}, ["Hello", "World"]]
731
- # # error raised
732
- #
733
- # body = ["Hello", "World"]
734
- # def body.trailers
735
- # { 'expires' => Time.now.to_s }
736
- # end
737
- # [200, { 'trailer' => 'expires'}, body]
738
- # # No exception raised
739
- #
740
- # source://rack//lib/rack/chunked.rb#25
741
- class Rack::Chunked
742
- include ::Rack::Utils
743
-
744
- # @return [Chunked] a new instance of Chunked
745
- #
746
- # source://rack//lib/rack/chunked.rb#82
747
- def initialize(app); end
748
-
749
- # If the rack app returns a response that should have a body,
750
- # but does not have content-length or transfer-encoding headers,
751
- # modify the response to use chunked transfer-encoding.
752
- #
753
- # source://rack//lib/rack/chunked.rb#101
754
- def call(env); end
755
-
756
- # Whether the HTTP version supports chunked encoding (HTTP 1.1 does).
757
- #
758
- # @return [Boolean]
759
- #
760
- # source://rack//lib/rack/chunked.rb#87
761
- def chunkable_version?(ver); end
762
- end
763
-
764
- # A body wrapper that emits chunked responses.
765
- #
766
- # source://rack//lib/rack/chunked.rb#29
767
- class Rack::Chunked::Body
768
- # Store the response body to be chunked.
769
- #
770
- # @return [Body] a new instance of Body
771
- #
772
- # source://rack//lib/rack/chunked.rb#34
773
- def initialize(body); end
774
-
775
- # Close the response body if the response body supports it.
776
- #
777
- # source://rack//lib/rack/chunked.rb#54
778
- def close; end
779
-
780
- # For each element yielded by the response body, yield
781
- # the element in chunked encoding.
782
- #
783
- # @yield [TAIL]
784
- #
785
- # source://rack//lib/rack/chunked.rb#40
786
- def each(&block); end
787
-
788
- private
789
-
790
- # Do nothing as this class does not support trailer headers.
791
- #
792
- # source://rack//lib/rack/chunked.rb#61
793
- def yield_trailers; end
794
- end
795
-
796
- # source://rack//lib/rack/chunked.rb#31
797
- Rack::Chunked::Body::TAIL = T.let(T.unsafe(nil), String)
798
-
799
- # source://rack//lib/rack/chunked.rb#30
800
- Rack::Chunked::Body::TERM = T.let(T.unsafe(nil), String)
801
-
802
- # A body wrapper that emits chunked responses and also supports
803
- # sending Trailer headers. Note that the response body provided to
804
- # initialize must have a +trailers+ method that returns a hash
805
- # of trailer headers, and the rack response itself should have a
806
- # Trailer header listing the headers that the +trailers+ method
807
- # will return.
808
- #
809
- # source://rack//lib/rack/chunked.rb#71
810
- class Rack::Chunked::TrailerBody < ::Rack::Chunked::Body
811
- private
812
-
813
- # Yield strings for each trailer header.
814
- #
815
- # source://rack//lib/rack/chunked.rb#75
816
- def yield_trailers; end
817
- end
818
-
819
496
  # Rack::CommonLogger forwards every request to the given +app+, and
820
497
  # logs a line in the
821
498
  # {Apache common log format}[http://httpd.apache.org/docs/1.3/logs.html#common]
@@ -1362,9 +1039,6 @@ class Rack::Events::EventedBodyProxy < ::Rack::BodyProxy
1362
1039
  def response; end
1363
1040
  end
1364
1041
 
1365
- # source://rack//lib/rack/file.rb#8
1366
- Rack::File = Rack::Files
1367
-
1368
1042
  # Rack::Files serves files below the +root+ directory given, according to the
1369
1043
  # path info of the Rack request.
1370
1044
  # e.g. when Rack::Files.new("/etc") is used, you can access 'passwd' file
@@ -1532,125 +1206,128 @@ end
1532
1206
  # (by using non-lowercase response header keys), automatically handling
1533
1207
  # the downcasing of keys.
1534
1208
  #
1535
- # source://rack//lib/rack/headers.rb#6
1209
+ # source://rack//lib/rack/headers.rb#8
1536
1210
  class Rack::Headers < ::Hash
1537
- # source://rack//lib/rack/headers.rb#26
1211
+ # source://rack//lib/rack/headers.rb#110
1538
1212
  def [](key); end
1539
1213
 
1540
- # source://rack//lib/rack/headers.rb#30
1214
+ # source://rack//lib/rack/headers.rb#114
1541
1215
  def []=(key, value); end
1542
1216
 
1543
- # source://rack//lib/rack/headers.rb#35
1217
+ # source://rack//lib/rack/headers.rb#119
1544
1218
  def assoc(key); end
1545
1219
 
1546
1220
  # @raise [TypeError]
1547
1221
  #
1548
- # source://rack//lib/rack/headers.rb#39
1222
+ # source://rack//lib/rack/headers.rb#123
1549
1223
  def compare_by_identity; end
1550
1224
 
1551
- # source://rack//lib/rack/headers.rb#43
1225
+ # source://rack//lib/rack/headers.rb#127
1552
1226
  def delete(key); end
1553
1227
 
1554
- # source://rack//lib/rack/headers.rb#47
1228
+ # source://rack//lib/rack/headers.rb#131
1555
1229
  def dig(key, *a); end
1556
1230
 
1557
1231
  # :nocov:
1558
1232
  #
1559
- # source://rack//lib/rack/headers.rb#143
1233
+ # source://rack//lib/rack/headers.rb#227
1560
1234
  def except(*a); end
1561
1235
 
1562
- # source://rack//lib/rack/headers.rb#51
1236
+ # source://rack//lib/rack/headers.rb#135
1563
1237
  def fetch(key, *default, &block); end
1564
1238
 
1565
- # source://rack//lib/rack/headers.rb#56
1239
+ # source://rack//lib/rack/headers.rb#140
1566
1240
  def fetch_values(*a); end
1567
1241
 
1568
1242
  # @return [Boolean]
1569
1243
  #
1570
- # source://rack//lib/rack/headers.rb#60
1244
+ # source://rack//lib/rack/headers.rb#144
1571
1245
  def has_key?(key); end
1572
1246
 
1573
1247
  # @return [Boolean]
1574
1248
  #
1575
- # source://rack//lib/rack/headers.rb#60
1249
+ # source://rack//lib/rack/headers.rb#144
1576
1250
  def include?(key); end
1577
1251
 
1578
- # source://rack//lib/rack/headers.rb#67
1252
+ # source://rack//lib/rack/headers.rb#151
1579
1253
  def invert; end
1580
1254
 
1581
1255
  # @return [Boolean]
1582
1256
  #
1583
- # source://rack//lib/rack/headers.rb#60
1257
+ # source://rack//lib/rack/headers.rb#144
1584
1258
  def key?(key); end
1585
1259
 
1586
1260
  # @return [Boolean]
1587
1261
  #
1588
- # source://rack//lib/rack/headers.rb#60
1262
+ # source://rack//lib/rack/headers.rb#144
1589
1263
  def member?(key); end
1590
1264
 
1591
- # source://rack//lib/rack/headers.rb#73
1265
+ # source://rack//lib/rack/headers.rb#157
1592
1266
  def merge(hash, &block); end
1593
1267
 
1594
- # source://rack//lib/rack/headers.rb#102
1268
+ # source://rack//lib/rack/headers.rb#186
1595
1269
  def merge!(hash, &block); end
1596
1270
 
1597
- # source://rack//lib/rack/headers.rb#77
1271
+ # source://rack//lib/rack/headers.rb#161
1598
1272
  def reject(&block); end
1599
1273
 
1600
- # source://rack//lib/rack/headers.rb#83
1274
+ # source://rack//lib/rack/headers.rb#167
1601
1275
  def replace(hash); end
1602
1276
 
1603
- # source://rack//lib/rack/headers.rb#88
1277
+ # source://rack//lib/rack/headers.rb#172
1604
1278
  def select(&block); end
1605
1279
 
1606
1280
  # :nocov:
1607
1281
  #
1608
- # source://rack//lib/rack/headers.rb#121
1282
+ # source://rack//lib/rack/headers.rb#205
1609
1283
  def slice(*a); end
1610
1284
 
1611
- # source://rack//lib/rack/headers.rb#30
1285
+ # source://rack//lib/rack/headers.rb#114
1612
1286
  def store(key, value); end
1613
1287
 
1614
- # source://rack//lib/rack/headers.rb#94
1288
+ # source://rack//lib/rack/headers.rb#178
1615
1289
  def to_proc; end
1616
1290
 
1617
- # source://rack//lib/rack/headers.rb#127
1291
+ # source://rack//lib/rack/headers.rb#211
1618
1292
  def transform_keys(&block); end
1619
1293
 
1620
- # source://rack//lib/rack/headers.rb#131
1294
+ # source://rack//lib/rack/headers.rb#215
1621
1295
  def transform_keys!; end
1622
1296
 
1623
- # source://rack//lib/rack/headers.rb#98
1297
+ # source://rack//lib/rack/headers.rb#182
1624
1298
  def transform_values(&block); end
1625
1299
 
1626
- # source://rack//lib/rack/headers.rb#102
1300
+ # source://rack//lib/rack/headers.rb#186
1627
1301
  def update(hash, &block); end
1628
1302
 
1629
- # source://rack//lib/rack/headers.rb#114
1303
+ # source://rack//lib/rack/headers.rb#198
1630
1304
  def values_at(*keys); end
1631
1305
 
1632
1306
  private
1633
1307
 
1634
- # source://rack//lib/rack/headers.rb#150
1308
+ # source://rack//lib/rack/headers.rb#234
1635
1309
  def downcase_key(key); end
1636
1310
 
1637
1311
  class << self
1638
- # source://rack//lib/rack/headers.rb#7
1312
+ # source://rack//lib/rack/headers.rb#91
1639
1313
  def [](*items); end
1640
1314
  end
1641
1315
  end
1642
1316
 
1643
- # source://rack//lib/rack/constants.rb#35
1317
+ # source://rack//lib/rack/headers.rb#9
1318
+ Rack::Headers::KNOWN_HEADERS = T.let(T.unsafe(nil), Hash)
1319
+
1320
+ # source://rack//lib/rack/constants.rb#36
1644
1321
  Rack::LINK = T.let(T.unsafe(nil), String)
1645
1322
 
1646
1323
  # Rack::Lint validates your application and the requests and
1647
1324
  # responses according to the Rack spec.
1648
1325
  #
1649
- # source://rack//lib/rack/lint.rb#12
1326
+ # source://rack//lib/rack/lint.rb#13
1650
1327
  class Rack::Lint
1651
1328
  # @return [Lint] a new instance of Lint
1652
1329
  #
1653
- # source://rack//lib/rack/lint.rb#13
1330
+ # source://rack//lib/rack/lint.rb#19
1654
1331
  def initialize(app); end
1655
1332
 
1656
1333
  # AUTHORS: n.b. The trailing whitespace between paragraphs is important and
@@ -1668,57 +1345,77 @@ class Rack::Lint
1668
1345
  # A Rack application is a Ruby object (not a class) that
1669
1346
  # responds to +call+.
1670
1347
  #
1671
- # source://rack//lib/rack/lint.rb#34
1348
+ # source://rack//lib/rack/lint.rb#40
1672
1349
  def call(env = T.unsafe(nil)); end
1673
1350
  end
1674
1351
 
1675
1352
  # :stopdoc:
1676
1353
  #
1677
- # source://rack//lib/rack/lint.rb#19
1354
+ # source://rack//lib/rack/lint.rb#25
1678
1355
  class Rack::Lint::LintError < ::RuntimeError; end
1679
1356
 
1680
- # source://rack//lib/rack/lint.rb#38
1357
+ # source://rack//lib/rack/lint.rb#15
1358
+ Rack::Lint::REQUEST_PATH_ABSOLUTE_FORM = T.let(T.unsafe(nil), Regexp)
1359
+
1360
+ # source://rack//lib/rack/lint.rb#17
1361
+ Rack::Lint::REQUEST_PATH_ASTERISK_FORM = T.let(T.unsafe(nil), String)
1362
+
1363
+ # source://rack//lib/rack/lint.rb#16
1364
+ Rack::Lint::REQUEST_PATH_AUTHORITY_FORM = T.let(T.unsafe(nil), Regexp)
1365
+
1366
+ # source://rack//lib/rack/lint.rb#14
1367
+ Rack::Lint::REQUEST_PATH_ORIGIN_FORM = T.let(T.unsafe(nil), Regexp)
1368
+
1369
+ # source://rack//lib/rack/lint.rb#44
1681
1370
  class Rack::Lint::Wrapper
1682
1371
  # @return [Wrapper] a new instance of Wrapper
1683
1372
  #
1684
- # source://rack//lib/rack/lint.rb#39
1373
+ # source://rack//lib/rack/lint.rb#45
1685
1374
  def initialize(app, env); end
1686
1375
 
1687
1376
  # ==== Streaming Body
1688
1377
  #
1689
1378
  # @raise [LintError]
1690
1379
  #
1691
- # source://rack//lib/rack/lint.rb#855
1380
+ # source://rack//lib/rack/lint.rb#939
1692
1381
  def call(stream); end
1693
1382
 
1694
- # === The content-length
1383
+ # ==== The +content-length+ Header
1695
1384
  #
1696
- # source://rack//lib/rack/lint.rb#693
1697
- def check_content_length(status, headers); end
1385
+ # source://rack//lib/rack/lint.rb#757
1386
+ def check_content_length_header(status, headers); end
1698
1387
 
1699
- # === The content-type
1388
+ # ==== The +content-type+ Header
1700
1389
  #
1701
- # source://rack//lib/rack/lint.rb#677
1702
- def check_content_type(status, headers); end
1390
+ # source://rack//lib/rack/lint.rb#741
1391
+ def check_content_type_header(status, headers); end
1392
+
1393
+ # === Early Hints
1394
+ #
1395
+ # The application or any middleware may call the <tt>rack.early_hints</tt>
1396
+ # with an object which would be valid as the headers of a Rack response.
1397
+ #
1398
+ # source://rack//lib/rack/lint.rb#657
1399
+ def check_early_hints(env); end
1703
1400
 
1704
1401
  # == The Environment
1705
1402
  #
1706
1403
  # @raise [LintError]
1707
1404
  #
1708
- # source://rack//lib/rack/lint.rb#97
1405
+ # source://rack//lib/rack/lint.rb#101
1709
1406
  def check_environment(env); end
1710
1407
 
1711
1408
  # === The Error Stream
1712
1409
  #
1713
- # source://rack//lib/rack/lint.rb#491
1714
- def check_error(error); end
1410
+ # source://rack//lib/rack/lint.rb#531
1411
+ def check_error_stream(error); end
1715
1412
 
1716
- # source://rack//lib/rack/lint.rb#667
1413
+ # source://rack//lib/rack/lint.rb#731
1717
1414
  def check_header_value(key, value); end
1718
1415
 
1719
1416
  # === The Headers
1720
1417
  #
1721
- # source://rack//lib/rack/lint.rb#627
1418
+ # source://rack//lib/rack/lint.rb#691
1722
1419
  def check_headers(headers); end
1723
1420
 
1724
1421
  # === Hijacking
@@ -1743,7 +1440,7 @@ class Rack::Lint::Wrapper
1743
1440
  # It is intended to be used when applications need access to raw HTTP/1
1744
1441
  # connection.
1745
1442
  #
1746
- # source://rack//lib/rack/lint.rb#551
1443
+ # source://rack//lib/rack/lint.rb#591
1747
1444
  def check_hijack(env); end
1748
1445
 
1749
1446
  # ==== Partial Hijack
@@ -1755,7 +1452,7 @@ class Rack::Lint::Wrapper
1755
1452
  # It is intended to be used when applications need bi-directional
1756
1453
  # streaming.
1757
1454
  #
1758
- # source://rack//lib/rack/lint.rb#579
1455
+ # source://rack//lib/rack/lint.rb#619
1759
1456
  def check_hijack_response(headers, env); end
1760
1457
 
1761
1458
  # === The Input Stream
@@ -1763,16 +1460,25 @@ class Rack::Lint::Wrapper
1763
1460
  # The input stream is an IO-like object which contains the raw HTTP
1764
1461
  # POST data.
1765
1462
  #
1766
- # source://rack//lib/rack/lint.rb#387
1767
- def check_input(input); end
1463
+ # source://rack//lib/rack/lint.rb#427
1464
+ def check_input_stream(input); end
1465
+
1466
+ # ==== The +rack.protocol+ Header
1467
+ #
1468
+ # source://rack//lib/rack/lint.rb#785
1469
+ def check_rack_protocol_header(status, headers); end
1768
1470
 
1769
1471
  # == The Response
1770
1472
  #
1771
1473
  # === The Status
1772
1474
  #
1773
- # source://rack//lib/rack/lint.rb#616
1475
+ # source://rack//lib/rack/lint.rb#680
1774
1476
  def check_status(status); end
1775
1477
 
1478
+ # Setting this value informs the server that it should perform a
1479
+ # connection upgrade. In HTTP/1, this is done using the +upgrade+
1480
+ # header. In HTTP/2, this is done by accepting the request.
1481
+ #
1776
1482
  # === The Body
1777
1483
  #
1778
1484
  # The Body is typically an +Array+ of +String+ instances, an enumerable
@@ -1798,24 +1504,24 @@ class Rack::Lint::Wrapper
1798
1504
  # cases where the Rack application makes internal/virtual requests and
1799
1505
  # discards the response.
1800
1506
  #
1801
- # source://rack//lib/rack/lint.rb#744
1507
+ # source://rack//lib/rack/lint.rb#831
1802
1508
  def close; end
1803
1509
 
1804
1510
  # ==== Enumerable Body
1805
1511
  #
1806
1512
  # @raise [LintError]
1807
1513
  #
1808
- # source://rack//lib/rack/lint.rb#778
1514
+ # source://rack//lib/rack/lint.rb#865
1809
1515
  def each; end
1810
1516
 
1811
1517
  # @return [Boolean]
1812
1518
  #
1813
- # source://rack//lib/rack/lint.rb#826
1519
+ # source://rack//lib/rack/lint.rb#910
1814
1520
  def respond_to?(name, *_arg1); end
1815
1521
 
1816
1522
  # @raise [LintError]
1817
1523
  #
1818
- # source://rack//lib/rack/lint.rb#54
1524
+ # source://rack//lib/rack/lint.rb#60
1819
1525
  def response; end
1820
1526
 
1821
1527
  # If the Body responds to +to_ary+, it must return an +Array+ whose
@@ -1826,73 +1532,73 @@ class Rack::Lint::Wrapper
1826
1532
  # +to_ary+ and +close+, its implementation of +to_ary+ must call
1827
1533
  # +close+.
1828
1534
  #
1829
- # source://rack//lib/rack/lint.rb#842
1535
+ # source://rack//lib/rack/lint.rb#926
1830
1536
  def to_ary; end
1831
1537
 
1832
- # source://rack//lib/rack/lint.rb#822
1538
+ # source://rack//lib/rack/lint.rb#906
1833
1539
  def to_path; end
1834
1540
 
1835
- # source://rack//lib/rack/lint.rb#706
1541
+ # source://rack//lib/rack/lint.rb#770
1836
1542
  def verify_content_length(size); end
1837
1543
 
1838
- # source://rack//lib/rack/lint.rb#760
1544
+ # source://rack//lib/rack/lint.rb#847
1839
1545
  def verify_to_path; end
1840
1546
  end
1841
1547
 
1842
- # source://rack//lib/rack/lint.rb#820
1548
+ # source://rack//lib/rack/lint.rb#904
1843
1549
  Rack::Lint::Wrapper::BODY_METHODS = T.let(T.unsafe(nil), Hash)
1844
1550
 
1845
- # source://rack//lib/rack/lint.rb#500
1551
+ # source://rack//lib/rack/lint.rb#540
1846
1552
  class Rack::Lint::Wrapper::ErrorWrapper
1847
1553
  # @return [ErrorWrapper] a new instance of ErrorWrapper
1848
1554
  #
1849
- # source://rack//lib/rack/lint.rb#501
1555
+ # source://rack//lib/rack/lint.rb#541
1850
1556
  def initialize(error); end
1851
1557
 
1852
1558
  # * +close+ must never be called on the error stream.
1853
1559
  #
1854
1560
  # @raise [LintError]
1855
1561
  #
1856
- # source://rack//lib/rack/lint.rb#523
1562
+ # source://rack//lib/rack/lint.rb#563
1857
1563
  def close(*args); end
1858
1564
 
1859
1565
  # * +flush+ must be called without arguments and must be called
1860
1566
  # in order to make the error appear for sure.
1861
1567
  #
1862
- # source://rack//lib/rack/lint.rb#518
1568
+ # source://rack//lib/rack/lint.rb#558
1863
1569
  def flush; end
1864
1570
 
1865
1571
  # * +puts+ must be called with a single argument that responds to +to_s+.
1866
1572
  #
1867
- # source://rack//lib/rack/lint.rb#506
1573
+ # source://rack//lib/rack/lint.rb#546
1868
1574
  def puts(str); end
1869
1575
 
1870
1576
  # * +write+ must be called with a single argument that is a String.
1871
1577
  #
1872
1578
  # @raise [LintError]
1873
1579
  #
1874
- # source://rack//lib/rack/lint.rb#511
1580
+ # source://rack//lib/rack/lint.rb#551
1875
1581
  def write(str); end
1876
1582
  end
1877
1583
 
1878
- # source://rack//lib/rack/lint.rb#405
1584
+ # source://rack//lib/rack/lint.rb#445
1879
1585
  class Rack::Lint::Wrapper::InputWrapper
1880
1586
  # @return [InputWrapper] a new instance of InputWrapper
1881
1587
  #
1882
- # source://rack//lib/rack/lint.rb#406
1588
+ # source://rack//lib/rack/lint.rb#446
1883
1589
  def initialize(input); end
1884
1590
 
1885
- # * +close+ can be called on the input stream to indicate that the
1886
- # any remaining input is not needed.
1591
+ # * +close+ can be called on the input stream to indicate that
1592
+ # any remaining input is not needed.
1887
1593
  #
1888
- # source://rack//lib/rack/lint.rb#483
1594
+ # source://rack//lib/rack/lint.rb#523
1889
1595
  def close(*args); end
1890
1596
 
1891
1597
  # * +each+ must be called without arguments and only yield Strings.
1892
1598
  #
1893
1599
  # @raise [LintError]
1894
1600
  #
1895
- # source://rack//lib/rack/lint.rb#471
1601
+ # source://rack//lib/rack/lint.rb#511
1896
1602
  def each(*args); end
1897
1603
 
1898
1604
  # * +gets+ must be called without arguments and return a string,
@@ -1900,10 +1606,10 @@ class Rack::Lint::Wrapper::InputWrapper
1900
1606
  #
1901
1607
  # @raise [LintError]
1902
1608
  #
1903
- # source://rack//lib/rack/lint.rb#412
1609
+ # source://rack//lib/rack/lint.rb#452
1904
1610
  def gets(*args); end
1905
1611
 
1906
- # * +read+ behaves like IO#read.
1612
+ # * +read+ behaves like <tt>IO#read</tt>.
1907
1613
  # Its signature is <tt>read([length, [buffer]])</tt>.
1908
1614
  #
1909
1615
  # If given, +length+ must be a non-negative Integer (>= 0) or +nil+,
@@ -1921,17 +1627,17 @@ class Rack::Lint::Wrapper::InputWrapper
1921
1627
  # If +buffer+ is given, then the read data will be placed
1922
1628
  # into +buffer+ instead of a newly created String object.
1923
1629
  #
1924
- # source://rack//lib/rack/lint.rb#438
1630
+ # source://rack//lib/rack/lint.rb#478
1925
1631
  def read(*args); end
1926
1632
  end
1927
1633
 
1928
- # source://rack//lib/rack/lint.rb#875
1634
+ # source://rack//lib/rack/lint.rb#959
1929
1635
  class Rack::Lint::Wrapper::StreamWrapper
1930
1636
  extend ::Forwardable
1931
1637
 
1932
1638
  # @return [StreamWrapper] a new instance of StreamWrapper
1933
1639
  #
1934
- # source://rack//lib/rack/lint.rb#890
1640
+ # source://rack//lib/rack/lint.rb#974
1935
1641
  def initialize(stream); end
1936
1642
 
1937
1643
  # source://forwardable/1.3.2/forwardable.rb#229
@@ -1965,7 +1671,7 @@ end
1965
1671
  # pass on real IO objects, although it is recognized that this approach
1966
1672
  # is not directly compatible with HTTP/2.
1967
1673
  #
1968
- # source://rack//lib/rack/lint.rb#883
1674
+ # source://rack//lib/rack/lint.rb#967
1969
1675
  Rack::Lint::Wrapper::StreamWrapper::REQUIRED_METHODS = T.let(T.unsafe(nil), Array)
1970
1676
 
1971
1677
  # Rack::Lock locks every request inside a mutex, so that every request
@@ -1989,14 +1695,14 @@ end
1989
1695
 
1990
1696
  # Sets up rack.logger to write to rack.errors stream
1991
1697
  #
1992
- # source://rack//lib/rack/logger.rb#9
1698
+ # source://rack//lib/rack/logger.rb#10
1993
1699
  class Rack::Logger
1994
1700
  # @return [Logger] a new instance of Logger
1995
1701
  #
1996
- # source://rack//lib/rack/logger.rb#10
1702
+ # source://rack//lib/rack/logger.rb#11
1997
1703
  def initialize(app, level = T.unsafe(nil)); end
1998
1704
 
1999
- # source://rack//lib/rack/logger.rb#14
1705
+ # source://rack//lib/rack/logger.rb#15
2000
1706
  def call(env); end
2001
1707
  end
2002
1708
 
@@ -2011,7 +1717,7 @@ class Rack::MediaType
2011
1717
  # this method responds with the following Hash:
2012
1718
  # { 'charset' => 'utf-8' }
2013
1719
  #
2014
- # source://rack//lib/rack/media_type.rb#26
1720
+ # source://rack//lib/rack/media_type.rb#30
2015
1721
  def params(content_type); end
2016
1722
 
2017
1723
  # The media type (type/subtype) portion of the CONTENT_TYPE header
@@ -2026,7 +1732,7 @@ class Rack::MediaType
2026
1732
 
2027
1733
  private
2028
1734
 
2029
- # source://rack//lib/rack/media_type.rb#38
1735
+ # source://rack//lib/rack/media_type.rb#43
2030
1736
  def strip_doublequotes(str); end
2031
1737
  end
2032
1738
  end
@@ -2164,49 +1870,49 @@ Rack::Mime::MIME_TYPES = T.let(T.unsafe(nil), Hash)
2164
1870
  class Rack::MockRequest
2165
1871
  # @return [MockRequest] a new instance of MockRequest
2166
1872
  #
2167
- # source://rack//lib/rack/mock_request.rb#49
1873
+ # source://rack//lib/rack/mock_request.rb#44
2168
1874
  def initialize(app); end
2169
1875
 
2170
1876
  # Make a DELETE request and return a MockResponse. See #request.
2171
1877
  #
2172
- # source://rack//lib/rack/mock_request.rb#62
1878
+ # source://rack//lib/rack/mock_request.rb#57
2173
1879
  def delete(uri, opts = T.unsafe(nil)); end
2174
1880
 
2175
1881
  # Make a GET request and return a MockResponse. See #request.
2176
1882
  #
2177
- # source://rack//lib/rack/mock_request.rb#54
1883
+ # source://rack//lib/rack/mock_request.rb#49
2178
1884
  def get(uri, opts = T.unsafe(nil)); end
2179
1885
 
2180
1886
  # Make a HEAD request and return a MockResponse. See #request.
2181
1887
  #
2182
- # source://rack//lib/rack/mock_request.rb#64
1888
+ # source://rack//lib/rack/mock_request.rb#59
2183
1889
  def head(uri, opts = T.unsafe(nil)); end
2184
1890
 
2185
1891
  # Make an OPTIONS request and return a MockResponse. See #request.
2186
1892
  #
2187
- # source://rack//lib/rack/mock_request.rb#66
1893
+ # source://rack//lib/rack/mock_request.rb#61
2188
1894
  def options(uri, opts = T.unsafe(nil)); end
2189
1895
 
2190
1896
  # Make a PATCH request and return a MockResponse. See #request.
2191
1897
  #
2192
- # source://rack//lib/rack/mock_request.rb#60
1898
+ # source://rack//lib/rack/mock_request.rb#55
2193
1899
  def patch(uri, opts = T.unsafe(nil)); end
2194
1900
 
2195
1901
  # Make a POST request and return a MockResponse. See #request.
2196
1902
  #
2197
- # source://rack//lib/rack/mock_request.rb#56
1903
+ # source://rack//lib/rack/mock_request.rb#51
2198
1904
  def post(uri, opts = T.unsafe(nil)); end
2199
1905
 
2200
1906
  # Make a PUT request and return a MockResponse. See #request.
2201
1907
  #
2202
- # source://rack//lib/rack/mock_request.rb#58
1908
+ # source://rack//lib/rack/mock_request.rb#53
2203
1909
  def put(uri, opts = T.unsafe(nil)); end
2204
1910
 
2205
1911
  # Make a request using the given request method for the given
2206
1912
  # uri to the rack application and return a MockResponse.
2207
1913
  # Options given are passed to MockRequest.env_for.
2208
1914
  #
2209
- # source://rack//lib/rack/mock_request.rb#71
1915
+ # source://rack//lib/rack/mock_request.rb#66
2210
1916
  def request(method = T.unsafe(nil), uri = T.unsafe(nil), opts = T.unsafe(nil)); end
2211
1917
 
2212
1918
  class << self
@@ -2220,20 +1926,17 @@ class Rack::MockRequest
2220
1926
  # :params :: The params to use
2221
1927
  # :script_name :: The SCRIPT_NAME to set
2222
1928
  #
2223
- # source://rack//lib/rack/mock_request.rb#103
1929
+ # source://rack//lib/rack/mock_request.rb#98
2224
1930
  def env_for(uri = T.unsafe(nil), opts = T.unsafe(nil)); end
2225
1931
 
2226
1932
  # For historical reasons, we're pinning to RFC 2396.
2227
1933
  # URI::Parser = URI::RFC2396_Parser
2228
1934
  #
2229
- # source://rack//lib/rack/mock_request.rb#89
1935
+ # source://rack//lib/rack/mock_request.rb#84
2230
1936
  def parse_uri_rfc2396(uri); end
2231
1937
  end
2232
1938
  end
2233
1939
 
2234
- # source://rack//lib/rack/mock_request.rb#44
2235
- Rack::MockRequest::DEFAULT_ENV = T.let(T.unsafe(nil), Hash)
2236
-
2237
1940
  # source://rack//lib/rack/mock_request.rb#27
2238
1941
  class Rack::MockRequest::FatalWarner
2239
1942
  # source://rack//lib/rack/mock_request.rb#36
@@ -2306,7 +2009,7 @@ class Rack::MockResponse < ::Rack::Response
2306
2009
 
2307
2010
  private
2308
2011
 
2309
- # source://rack//lib/rack/mock_response.rb#102
2012
+ # source://rack//lib/rack/mock_response.rb#100
2310
2013
  def identify_cookie_attributes(cookie_filling); end
2311
2014
 
2312
2015
  # source://rack//lib/rack/mock_response.rb#79
@@ -2321,72 +2024,43 @@ end
2321
2024
  #
2322
2025
  # Usually, Rack::Request#POST takes care of calling this.
2323
2026
  #
2324
- # source://rack//lib/rack/multipart/parser.rb#8
2027
+ # source://rack//lib/rack/multipart/parser.rb#9
2325
2028
  module Rack::Multipart
2326
2029
  class << self
2327
- # source://rack//lib/rack/multipart.rb#39
2030
+ # source://rack//lib/rack/multipart.rb#72
2328
2031
  def build_multipart(params, first = T.unsafe(nil)); end
2329
2032
 
2330
- # source://rack//lib/rack/multipart.rb#35
2033
+ # source://rack//lib/rack/multipart.rb#68
2331
2034
  def extract_multipart(request, params = T.unsafe(nil)); end
2332
2035
 
2333
- # source://rack//lib/rack/multipart.rb#17
2036
+ # source://rack//lib/rack/multipart.rb#48
2334
2037
  def parse_multipart(env, params = T.unsafe(nil)); end
2335
2038
  end
2336
2039
  end
2337
2040
 
2338
- # source://rack//lib/rack/multipart/parser.rb#32
2339
- Rack::Multipart::ATTRIBUTE = T.let(T.unsafe(nil), Regexp)
2340
-
2341
- # Updated definitions from RFC 2231
2041
+ # Base class for multipart exceptions that do not subclass from
2042
+ # other exception classes for backwards compatibility.
2342
2043
  #
2343
- # source://rack//lib/rack/multipart/parser.rb#31
2344
- Rack::Multipart::ATTRIBUTE_CHAR = T.let(T.unsafe(nil), Regexp)
2345
-
2346
2044
  # source://rack//lib/rack/multipart/parser.rb#26
2347
- Rack::Multipart::BROKEN = T.let(T.unsafe(nil), Regexp)
2348
-
2349
- # source://rack//lib/rack/multipart/parser.rb#24
2350
- Rack::Multipart::CONDISP = T.let(T.unsafe(nil), Regexp)
2351
-
2352
- # source://rack//lib/rack/multipart/parser.rb#43
2353
- Rack::Multipart::DISPPARM = T.let(T.unsafe(nil), Regexp)
2045
+ class Rack::Multipart::BoundaryTooLongError < ::StandardError
2046
+ include ::Rack::BadRequest
2047
+ end
2354
2048
 
2355
- # source://rack//lib/rack/multipart/parser.rb#21
2049
+ # source://rack//lib/rack/multipart/parser.rb#33
2356
2050
  Rack::Multipart::EOL = T.let(T.unsafe(nil), String)
2357
2051
 
2358
- # source://rack//lib/rack/multipart/parser.rb#39
2359
- Rack::Multipart::EXTENDED_INITIAL_NAME = T.let(T.unsafe(nil), Regexp)
2360
-
2361
- # source://rack//lib/rack/multipart/parser.rb#41
2362
- Rack::Multipart::EXTENDED_INITIAL_PARAMETER = T.let(T.unsafe(nil), Regexp)
2363
-
2364
- # source://rack//lib/rack/multipart/parser.rb#40
2365
- Rack::Multipart::EXTENDED_INITIAL_VALUE = T.let(T.unsafe(nil), Regexp)
2366
-
2367
- # source://rack//lib/rack/multipart/parser.rb#36
2368
- Rack::Multipart::EXTENDED_OTHER_NAME = T.let(T.unsafe(nil), Regexp)
2369
-
2370
- # source://rack//lib/rack/multipart/parser.rb#38
2371
- Rack::Multipart::EXTENDED_OTHER_PARAMETER = T.let(T.unsafe(nil), Regexp)
2372
-
2373
- # source://rack//lib/rack/multipart/parser.rb#37
2374
- Rack::Multipart::EXTENDED_OTHER_VALUE = T.let(T.unsafe(nil), Regexp)
2375
-
2376
- # source://rack//lib/rack/multipart/parser.rb#42
2377
- Rack::Multipart::EXTENDED_PARAMETER = T.let(T.unsafe(nil), Regexp)
2378
-
2379
2052
  # Use specific error class when parsing multipart request
2380
2053
  # that ends early.
2381
2054
  #
2382
- # source://rack//lib/rack/multipart/parser.rb#15
2383
- class Rack::Multipart::EmptyContentError < ::EOFError; end
2055
+ # source://rack//lib/rack/multipart/parser.rb#20
2056
+ class Rack::Multipart::EmptyContentError < ::EOFError
2057
+ include ::Rack::BadRequest
2058
+ end
2384
2059
 
2385
- # Base class for multipart exceptions that do not subclass from
2386
- # other exception classes for backwards compatibility.
2060
+ # Prefer to use the BoundaryTooLongError class or Rack::BadRequest.
2387
2061
  #
2388
- # source://rack//lib/rack/multipart/parser.rb#19
2389
- class Rack::Multipart::Error < ::StandardError; end
2062
+ # source://rack//lib/rack/multipart/parser.rb#31
2063
+ Rack::Multipart::Error = Rack::Multipart::BoundaryTooLongError
2390
2064
 
2391
2065
  # source://rack//lib/rack/multipart/generator.rb#7
2392
2066
  class Rack::Multipart::Generator
@@ -2415,43 +2089,78 @@ class Rack::Multipart::Generator
2415
2089
  def multipart?; end
2416
2090
  end
2417
2091
 
2418
- # source://rack//lib/rack/multipart/parser.rb#22
2092
+ # source://rack//lib/rack/multipart/parser.rb#34
2419
2093
  Rack::Multipart::MULTIPART = T.let(T.unsafe(nil), Regexp)
2420
2094
 
2421
- # source://rack//lib/rack/multipart.rb#14
2095
+ # source://rack//lib/rack/multipart.rb#16
2422
2096
  Rack::Multipart::MULTIPART_BOUNDARY = T.let(T.unsafe(nil), String)
2423
2097
 
2424
- # source://rack//lib/rack/multipart/parser.rb#28
2098
+ # source://rack//lib/rack/multipart/parser.rb#36
2425
2099
  Rack::Multipart::MULTIPART_CONTENT_DISPOSITION = T.let(T.unsafe(nil), Regexp)
2426
2100
 
2427
- # source://rack//lib/rack/multipart/parser.rb#29
2101
+ # source://rack//lib/rack/multipart/parser.rb#37
2428
2102
  Rack::Multipart::MULTIPART_CONTENT_ID = T.let(T.unsafe(nil), Regexp)
2429
2103
 
2430
- # source://rack//lib/rack/multipart/parser.rb#27
2104
+ # source://rack//lib/rack/multipart/parser.rb#35
2431
2105
  Rack::Multipart::MULTIPART_CONTENT_TYPE = T.let(T.unsafe(nil), Regexp)
2432
2106
 
2433
- # source://rack//lib/rack/multipart/parser.rb#9
2434
- class Rack::Multipart::MultipartPartLimitError < ::Errno::EMFILE; end
2107
+ # source://rack//lib/rack/multipart.rb#18
2108
+ class Rack::Multipart::MissingInputError < ::StandardError
2109
+ include ::Rack::BadRequest
2110
+ end
2111
+
2112
+ # source://rack//lib/rack/multipart/parser.rb#10
2113
+ class Rack::Multipart::MultipartPartLimitError < ::Errno::EMFILE
2114
+ include ::Rack::BadRequest
2115
+ end
2116
+
2117
+ # source://rack//lib/rack/multipart/parser.rb#14
2118
+ class Rack::Multipart::MultipartTotalPartLimitError < ::StandardError
2119
+ include ::Rack::BadRequest
2120
+ end
2121
+
2122
+ # Accumulator for multipart form data, conforming to the QueryParser API.
2123
+ # In future, the Parser could return the pair list directly, but that would
2124
+ # change its API.
2125
+ #
2126
+ # source://rack//lib/rack/multipart.rb#25
2127
+ class Rack::Multipart::ParamList
2128
+ # @return [ParamList] a new instance of ParamList
2129
+ #
2130
+ # source://rack//lib/rack/multipart.rb#34
2131
+ def initialize; end
2132
+
2133
+ # source://rack//lib/rack/multipart.rb#38
2134
+ def <<(pair); end
2135
+
2136
+ # source://rack//lib/rack/multipart.rb#42
2137
+ def to_params_hash; end
2138
+
2139
+ class << self
2140
+ # source://rack//lib/rack/multipart.rb#26
2141
+ def make_params; end
2435
2142
 
2436
- # source://rack//lib/rack/multipart/parser.rb#11
2437
- class Rack::Multipart::MultipartTotalPartLimitError < ::StandardError; end
2143
+ # source://rack//lib/rack/multipart.rb#30
2144
+ def normalize_params(params, key, value); end
2145
+ end
2146
+ end
2438
2147
 
2439
- # source://rack//lib/rack/multipart/parser.rb#46
2148
+ # source://rack//lib/rack/multipart/parser.rb#39
2440
2149
  class Rack::Multipart::Parser
2441
2150
  # @return [Parser] a new instance of Parser
2442
2151
  #
2443
- # source://rack//lib/rack/multipart/parser.rb#205
2152
+ # source://rack//lib/rack/multipart/parser.rb#200
2444
2153
  def initialize(boundary, tempfile, bufsize, query_parser); end
2445
2154
 
2446
- # source://rack//lib/rack/multipart/parser.rb#220
2155
+ # source://rack//lib/rack/multipart/parser.rb#217
2447
2156
  def parse(io); end
2448
2157
 
2449
- # source://rack//lib/rack/multipart/parser.rb#243
2158
+ # source://rack//lib/rack/multipart/parser.rb#240
2450
2159
  def result; end
2451
2160
 
2452
2161
  # Returns the value of attribute state.
2453
2162
  #
2454
- # source://rack//lib/rack/multipart/parser.rb#203
2163
+ # source://rack//lib/rack/multipart/parser.rb#198
2455
2164
  def state; end
2456
2165
 
2457
2166
  private
@@ -2461,21 +2170,25 @@ class Rack::Multipart::Parser
2461
2170
  # end of the boundary. If we don't find the start or end of the
2462
2171
  # boundary, clear the buffer and return nil.
2463
2172
  #
2464
- # source://rack//lib/rack/multipart/parser.rb#346
2173
+ # source://rack//lib/rack/multipart/parser.rb#434
2465
2174
  def consume_boundary; end
2466
2175
 
2467
2176
  # From WEBrick::HTTPUtils
2468
2177
  #
2469
- # source://rack//lib/rack/multipart/parser.rb#255
2178
+ # source://rack//lib/rack/multipart/parser.rb#252
2470
2179
  def dequote(str); end
2471
2180
 
2472
- # source://rack//lib/rack/multipart/parser.rb#355
2473
- def get_filename(head); end
2181
+ # Return the related Encoding object. However, because
2182
+ # enc is submitted by the user, it may be invalid, so
2183
+ # use a binary encoding in that case.
2184
+ #
2185
+ # source://rack//lib/rack/multipart/parser.rb#489
2186
+ def find_encoding(enc); end
2474
2187
 
2475
- # source://rack//lib/rack/multipart/parser.rb#290
2188
+ # source://rack//lib/rack/multipart/parser.rb#294
2476
2189
  def handle_consume_token; end
2477
2190
 
2478
- # source://rack//lib/rack/multipart/parser.rb#427
2191
+ # source://rack//lib/rack/multipart/parser.rb#495
2479
2192
  def handle_empty_content!(content); end
2480
2193
 
2481
2194
  # This handles the initial parser state. We read until we find the starting
@@ -2486,108 +2199,117 @@ class Rack::Multipart::Parser
2486
2199
  # boundary. The client would have to deliberately craft a response
2487
2200
  # with the opening boundary beyond the buffer size for that to happen.
2488
2201
  #
2489
- # source://rack//lib/rack/multipart/parser.rb#274
2202
+ # source://rack//lib/rack/multipart/parser.rb#271
2490
2203
  def handle_fast_forward; end
2491
2204
 
2492
- # source://rack//lib/rack/multipart/parser.rb#323
2205
+ # source://rack//lib/rack/multipart/parser.rb#411
2493
2206
  def handle_mime_body; end
2494
2207
 
2495
- # source://rack//lib/rack/multipart/parser.rb#300
2208
+ # source://rack//lib/rack/multipart/parser.rb#306
2496
2209
  def handle_mime_head; end
2497
2210
 
2498
- # source://rack//lib/rack/multipart/parser.rb#261
2211
+ # source://rack//lib/rack/multipart/parser.rb#443
2212
+ def normalize_filename(filename); end
2213
+
2214
+ # source://rack//lib/rack/multipart/parser.rb#258
2499
2215
  def read_data(io, outbuf); end
2500
2216
 
2501
- # source://rack//lib/rack/multipart/parser.rb#393
2217
+ # source://rack//lib/rack/multipart/parser.rb#456
2502
2218
  def tag_multipart_encoding(filename, content_type, name, body); end
2503
2219
 
2504
2220
  class << self
2505
- # source://rack//lib/rack/multipart/parser.rb#92
2221
+ # source://rack//lib/rack/multipart/parser.rb#87
2506
2222
  def parse(io, content_length, content_type, tmpfile, bufsize, qp); end
2507
2223
 
2508
- # source://rack//lib/rack/multipart/parser.rb#85
2224
+ # source://rack//lib/rack/multipart/parser.rb#80
2509
2225
  def parse_boundary(content_type); end
2510
2226
  end
2511
2227
  end
2512
2228
 
2513
- # source://rack//lib/rack/multipart/parser.rb#47
2229
+ # source://rack//lib/rack/multipart/parser.rb#40
2514
2230
  Rack::Multipart::Parser::BUFSIZE = T.let(T.unsafe(nil), Integer)
2515
2231
 
2516
- # source://rack//lib/rack/multipart/parser.rb#53
2232
+ # source://rack//lib/rack/multipart/parser.rb#48
2517
2233
  class Rack::Multipart::Parser::BoundedIO
2518
2234
  # @return [BoundedIO] a new instance of BoundedIO
2519
2235
  #
2520
- # source://rack//lib/rack/multipart/parser.rb#54
2236
+ # source://rack//lib/rack/multipart/parser.rb#49
2521
2237
  def initialize(io, content_length); end
2522
2238
 
2523
- # source://rack//lib/rack/multipart/parser.rb#60
2239
+ # source://rack//lib/rack/multipart/parser.rb#55
2524
2240
  def read(size, outbuf = T.unsafe(nil)); end
2525
2241
  end
2526
2242
 
2527
- # source://rack//lib/rack/multipart/parser.rb#390
2243
+ # source://rack//lib/rack/multipart/parser.rb#453
2528
2244
  Rack::Multipart::Parser::CHARSET = T.let(T.unsafe(nil), String)
2529
2245
 
2530
- # source://rack//lib/rack/multipart/parser.rb#112
2246
+ # source://rack//lib/rack/multipart/parser.rb#305
2247
+ Rack::Multipart::Parser::CONTENT_DISPOSITION_MAX_BYTES = T.let(T.unsafe(nil), Integer)
2248
+
2249
+ # source://rack//lib/rack/multipart/parser.rb#304
2250
+ Rack::Multipart::Parser::CONTENT_DISPOSITION_MAX_PARAMS = T.let(T.unsafe(nil), Integer)
2251
+
2252
+ # source://rack//lib/rack/multipart/parser.rb#107
2531
2253
  class Rack::Multipart::Parser::Collector
2532
2254
  include ::Enumerable
2533
2255
 
2534
2256
  # @return [Collector] a new instance of Collector
2535
2257
  #
2536
- # source://rack//lib/rack/multipart/parser.rb#148
2258
+ # source://rack//lib/rack/multipart/parser.rb#143
2537
2259
  def initialize(tempfile); end
2538
2260
 
2539
- # source://rack//lib/rack/multipart/parser.rb#154
2261
+ # source://rack//lib/rack/multipart/parser.rb#149
2540
2262
  def each; end
2541
2263
 
2542
- # source://rack//lib/rack/multipart/parser.rb#174
2264
+ # source://rack//lib/rack/multipart/parser.rb#169
2543
2265
  def on_mime_body(mime_index, content); end
2544
2266
 
2545
- # source://rack//lib/rack/multipart/parser.rb#178
2267
+ # source://rack//lib/rack/multipart/parser.rb#173
2546
2268
  def on_mime_finish(mime_index); end
2547
2269
 
2548
- # source://rack//lib/rack/multipart/parser.rb#158
2270
+ # source://rack//lib/rack/multipart/parser.rb#153
2549
2271
  def on_mime_head(mime_index, head, filename, content_type, name); end
2550
2272
 
2551
2273
  private
2552
2274
 
2553
- # source://rack//lib/rack/multipart/parser.rb#183
2275
+ # source://rack//lib/rack/multipart/parser.rb#178
2554
2276
  def check_part_limits; end
2555
2277
  end
2556
2278
 
2557
- # source://rack//lib/rack/multipart/parser.rb#136
2279
+ # source://rack//lib/rack/multipart/parser.rb#131
2558
2280
  class Rack::Multipart::Parser::Collector::BufferPart < ::Rack::Multipart::Parser::Collector::MimePart
2559
- # source://rack//lib/rack/multipart/parser.rb#138
2281
+ # source://rack//lib/rack/multipart/parser.rb#133
2560
2282
  def close; end
2561
2283
 
2562
2284
  # @return [Boolean]
2563
2285
  #
2564
- # source://rack//lib/rack/multipart/parser.rb#137
2286
+ # source://rack//lib/rack/multipart/parser.rb#132
2565
2287
  def file?; end
2566
2288
  end
2567
2289
 
2568
- # source://rack//lib/rack/multipart/parser.rb#113
2290
+ # source://rack//lib/rack/multipart/parser.rb#108
2569
2291
  class Rack::Multipart::Parser::Collector::MimePart < ::Struct
2570
2292
  # @yield [data]
2571
2293
  #
2572
- # source://rack//lib/rack/multipart/parser.rb#114
2294
+ # source://rack//lib/rack/multipart/parser.rb#109
2573
2295
  def get_data; end
2574
2296
  end
2575
2297
 
2576
- # source://rack//lib/rack/multipart/parser.rb#141
2298
+ # source://rack//lib/rack/multipart/parser.rb#136
2577
2299
  class Rack::Multipart::Parser::Collector::TempfilePart < ::Rack::Multipart::Parser::Collector::MimePart
2578
- # source://rack//lib/rack/multipart/parser.rb#143
2300
+ # source://rack//lib/rack/multipart/parser.rb#138
2579
2301
  def close; end
2580
2302
 
2581
2303
  # @return [Boolean]
2582
2304
  #
2583
- # source://rack//lib/rack/multipart/parser.rb#142
2305
+ # source://rack//lib/rack/multipart/parser.rb#137
2584
2306
  def file?; end
2585
2307
  end
2586
2308
 
2587
- # source://rack//lib/rack/multipart/parser.rb#83
2309
+ # source://rack//lib/rack/multipart/parser.rb#78
2588
2310
  Rack::Multipart::Parser::EMPTY = T.let(T.unsafe(nil), Rack::Multipart::Parser::MultipartInfo)
2589
2311
 
2590
- # source://rack//lib/rack/multipart/parser.rb#82
2312
+ # source://rack//lib/rack/multipart/parser.rb#77
2591
2313
  class Rack::Multipart::Parser::MultipartInfo < ::Struct
2592
2314
  # Returns the value of attribute params
2593
2315
  #
@@ -2620,27 +2342,12 @@ class Rack::Multipart::Parser::MultipartInfo < ::Struct
2620
2342
  end
2621
2343
  end
2622
2344
 
2623
- # source://rack//lib/rack/multipart/parser.rb#49
2345
+ # source://rack//lib/rack/multipart/parser.rb#42
2624
2346
  Rack::Multipart::Parser::TEMPFILE_FACTORY = T.let(T.unsafe(nil), Proc)
2625
2347
 
2626
- # source://rack//lib/rack/multipart/parser.rb#48
2348
+ # source://rack//lib/rack/multipart/parser.rb#41
2627
2349
  Rack::Multipart::Parser::TEXT_PLAIN = T.let(T.unsafe(nil), String)
2628
2350
 
2629
- # source://rack//lib/rack/multipart/parser.rb#35
2630
- Rack::Multipart::REGULAR_PARAMETER = T.let(T.unsafe(nil), Regexp)
2631
-
2632
- # source://rack//lib/rack/multipart/parser.rb#34
2633
- Rack::Multipart::REGULAR_PARAMETER_NAME = T.let(T.unsafe(nil), Regexp)
2634
-
2635
- # source://rack//lib/rack/multipart/parser.rb#44
2636
- Rack::Multipart::RFC2183 = T.let(T.unsafe(nil), Regexp)
2637
-
2638
- # source://rack//lib/rack/multipart/parser.rb#33
2639
- Rack::Multipart::SECTION = T.let(T.unsafe(nil), Regexp)
2640
-
2641
- # source://rack//lib/rack/multipart/parser.rb#23
2642
- Rack::Multipart::TOKEN = T.let(T.unsafe(nil), Regexp)
2643
-
2644
2351
  # source://rack//lib/rack/multipart/uploaded_file.rb#8
2645
2352
  class Rack::Multipart::UploadedFile
2646
2353
  # @return [UploadedFile] a new instance of UploadedFile
@@ -2678,9 +2385,6 @@ class Rack::Multipart::UploadedFile
2678
2385
  def respond_to?(*args); end
2679
2386
  end
2680
2387
 
2681
- # source://rack//lib/rack/multipart/parser.rb#25
2682
- Rack::Multipart::VALUE = T.let(T.unsafe(nil), Regexp)
2683
-
2684
2388
  # source://rack//lib/rack/null_logger.rb#6
2685
2389
  class Rack::NullLogger
2686
2390
  # @return [NullLogger] a new instance of NullLogger
@@ -2813,17 +2517,17 @@ Rack::PUT = T.let(T.unsafe(nil), String)
2813
2517
  # source://rack//lib/rack/constants.rb#12
2814
2518
  Rack::QUERY_STRING = T.let(T.unsafe(nil), String)
2815
2519
 
2816
- # source://rack//lib/rack/query_parser.rb#6
2520
+ # source://rack//lib/rack/query_parser.rb#7
2817
2521
  class Rack::QueryParser
2818
2522
  # @return [QueryParser] a new instance of QueryParser
2819
2523
  #
2820
- # source://rack//lib/rack/query_parser.rb#33
2821
- def initialize(params_class, _key_space_limit = T.unsafe(nil), param_depth_limit); end
2524
+ # source://rack//lib/rack/query_parser.rb#36
2525
+ def initialize(params_class, param_depth_limit); end
2822
2526
 
2823
- # source://rack//lib/rack/query_parser.rb#167
2527
+ # source://rack//lib/rack/query_parser.rb#166
2824
2528
  def make_params; end
2825
2529
 
2826
- # source://rack//lib/rack/query_parser.rb#171
2530
+ # source://rack//lib/rack/query_parser.rb#170
2827
2531
  def new_depth_limit(param_depth_limit); end
2828
2532
 
2829
2533
  # normalize_params recursively expands parameters into structural types. If
@@ -2832,12 +2536,12 @@ class Rack::QueryParser
2832
2536
  # and should no longer be used, it is kept for backwards compatibility with
2833
2537
  # earlier versions of rack.
2834
2538
  #
2835
- # source://rack//lib/rack/query_parser.rb#95
2539
+ # source://rack//lib/rack/query_parser.rb#94
2836
2540
  def normalize_params(params, name, v, _depth = T.unsafe(nil)); end
2837
2541
 
2838
2542
  # Returns the value of attribute param_depth_limit.
2839
2543
  #
2840
- # source://rack//lib/rack/query_parser.rb#31
2544
+ # source://rack//lib/rack/query_parser.rb#34
2841
2545
  def param_depth_limit; end
2842
2546
 
2843
2547
  # parse_nested_query expands a query string into structural types. Supported
@@ -2846,7 +2550,7 @@ class Rack::QueryParser
2846
2550
  # ParameterTypeError is raised. Users are encouraged to return a 400 in this
2847
2551
  # case.
2848
2552
  #
2849
- # source://rack//lib/rack/query_parser.rb#74
2553
+ # source://rack//lib/rack/query_parser.rb#73
2850
2554
  def parse_nested_query(qs, separator = T.unsafe(nil)); end
2851
2555
 
2852
2556
  # Stolen from Mongrel, with some small modifications:
@@ -2854,196 +2558,152 @@ class Rack::QueryParser
2854
2558
  # to parse cookies by changing the characters used in the second parameter
2855
2559
  # (which defaults to '&').
2856
2560
  #
2857
- # source://rack//lib/rack/query_parser.rb#46
2561
+ # source://rack//lib/rack/query_parser.rb#45
2858
2562
  def parse_query(qs, separator = T.unsafe(nil), &unescaper); end
2859
2563
 
2860
2564
  private
2861
2565
 
2862
2566
  # @raise [ParamsTooDeepError]
2863
2567
  #
2864
- # source://rack//lib/rack/query_parser.rb#99
2568
+ # source://rack//lib/rack/query_parser.rb#98
2865
2569
  def _normalize_params(params, name, v, depth); end
2866
2570
 
2867
2571
  # @return [Boolean]
2868
2572
  #
2869
- # source://rack//lib/rack/query_parser.rb#181
2573
+ # source://rack//lib/rack/query_parser.rb#180
2870
2574
  def params_hash_has_key?(hash, key); end
2871
2575
 
2872
2576
  # @return [Boolean]
2873
2577
  #
2874
- # source://rack//lib/rack/query_parser.rb#177
2578
+ # source://rack//lib/rack/query_parser.rb#176
2875
2579
  def params_hash_type?(obj); end
2876
2580
 
2877
- # source://rack//lib/rack/query_parser.rb#193
2581
+ # source://rack//lib/rack/query_parser.rb#192
2878
2582
  def unescape(string, encoding = T.unsafe(nil)); end
2879
2583
 
2880
2584
  class << self
2881
- # source://rack//lib/rack/query_parser.rb#23
2882
- def make_default(_key_space_limit = T.unsafe(nil), param_depth_limit); end
2585
+ # source://rack//lib/rack/query_parser.rb#30
2586
+ def make_default(param_depth_limit); end
2883
2587
  end
2884
2588
  end
2885
2589
 
2886
- # source://rack//lib/rack/query_parser.rb#8
2590
+ # source://rack//lib/rack/query_parser.rb#9
2887
2591
  Rack::QueryParser::COMMON_SEP = T.let(T.unsafe(nil), Hash)
2888
2592
 
2889
- # source://rack//lib/rack/query_parser.rb#7
2593
+ # source://rack//lib/rack/query_parser.rb#8
2890
2594
  Rack::QueryParser::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp)
2891
2595
 
2892
2596
  # InvalidParameterError is the error that is raised when incoming structural
2893
2597
  # parameters (parsed by parse_nested_query) contain invalid format or byte
2894
2598
  # sequence.
2895
2599
  #
2896
- # source://rack//lib/rack/query_parser.rb#17
2897
- class Rack::QueryParser::InvalidParameterError < ::ArgumentError; end
2600
+ # source://rack//lib/rack/query_parser.rb#20
2601
+ class Rack::QueryParser::InvalidParameterError < ::ArgumentError
2602
+ include ::Rack::BadRequest
2603
+ end
2898
2604
 
2899
2605
  # ParameterTypeError is the error that is raised when incoming structural
2900
2606
  # parameters (parsed by parse_nested_query) contain conflicting types.
2901
2607
  #
2902
- # source://rack//lib/rack/query_parser.rb#12
2903
- class Rack::QueryParser::ParameterTypeError < ::TypeError; end
2904
-
2905
- # source://rack//lib/rack/query_parser.rb#197
2906
- class Rack::QueryParser::Params
2907
- # @return [Params] a new instance of Params
2908
- #
2909
- # source://rack//lib/rack/query_parser.rb#198
2910
- def initialize; end
2911
-
2912
- # source://rack//lib/rack/query_parser.rb#203
2913
- def [](key); end
2914
-
2915
- # source://rack//lib/rack/query_parser.rb#207
2916
- def []=(key, value); end
2917
-
2918
- # @return [Boolean]
2919
- #
2920
- # source://rack//lib/rack/query_parser.rb#211
2921
- def key?(key); end
2922
-
2923
- # Recursively unwraps nested `Params` objects and constructs an object
2924
- # of the same shape, but using the objects' internal representations
2925
- # (Ruby hashes) in place of the objects. The result is a hash consisting
2926
- # purely of Ruby primitives.
2927
- #
2928
- # Mutation warning!
2929
- #
2930
- # 1. This method mutates the internal representation of the `Params`
2931
- # objects in order to save object allocations.
2932
- #
2933
- # 2. The value you get back is a reference to the internal hash
2934
- # representation, not a copy.
2935
- #
2936
- # 3. Because the `Params` object's internal representation is mutable
2937
- # through the `#[]=` method, it is not thread safe. The result of
2938
- # getting the hash representation while another thread is adding a
2939
- # key to it is non-deterministic.
2940
- #
2941
- # source://rack//lib/rack/query_parser.rb#233
2942
- def to_h; end
2608
+ # source://rack//lib/rack/query_parser.rb#13
2609
+ class Rack::QueryParser::ParameterTypeError < ::TypeError
2610
+ include ::Rack::BadRequest
2611
+ end
2943
2612
 
2944
- # Recursively unwraps nested `Params` objects and constructs an object
2945
- # of the same shape, but using the objects' internal representations
2946
- # (Ruby hashes) in place of the objects. The result is a hash consisting
2947
- # purely of Ruby primitives.
2948
- #
2949
- # Mutation warning!
2950
- #
2951
- # 1. This method mutates the internal representation of the `Params`
2952
- # objects in order to save object allocations.
2953
- #
2954
- # 2. The value you get back is a reference to the internal hash
2955
- # representation, not a copy.
2956
- #
2957
- # 3. Because the `Params` object's internal representation is mutable
2958
- # through the `#[]=` method, it is not thread safe. The result of
2959
- # getting the hash representation while another thread is adding a
2960
- # key to it is non-deterministic.
2961
- #
2962
- # source://rack//lib/rack/query_parser.rb#233
2613
+ # source://rack//lib/rack/query_parser.rb#196
2614
+ class Rack::QueryParser::Params < ::Hash
2963
2615
  def to_params_hash; end
2964
2616
  end
2965
2617
 
2966
2618
  # ParamsTooDeepError is the error that is raised when params are recursively
2967
2619
  # nested over the specified limit.
2968
2620
  #
2969
- # source://rack//lib/rack/query_parser.rb#21
2970
- class Rack::QueryParser::ParamsTooDeepError < ::RangeError; end
2621
+ # source://rack//lib/rack/query_parser.rb#26
2622
+ class Rack::QueryParser::ParamsTooDeepError < ::RangeError
2623
+ include ::Rack::BadRequest
2624
+ end
2971
2625
 
2972
- # source://rack//lib/rack/constants.rb#42
2626
+ # source://rack//lib/rack/constants.rb#43
2627
+ Rack::RACK_EARLY_HINTS = T.let(T.unsafe(nil), String)
2628
+
2629
+ # source://rack//lib/rack/constants.rb#44
2973
2630
  Rack::RACK_ERRORS = T.let(T.unsafe(nil), String)
2974
2631
 
2975
- # source://rack//lib/rack/constants.rb#49
2632
+ # source://rack//lib/rack/constants.rb#51
2976
2633
  Rack::RACK_HIJACK = T.let(T.unsafe(nil), String)
2977
2634
 
2978
- # source://rack//lib/rack/constants.rb#44
2635
+ # source://rack//lib/rack/constants.rb#46
2979
2636
  Rack::RACK_INPUT = T.let(T.unsafe(nil), String)
2980
2637
 
2981
- # source://rack//lib/rack/constants.rb#50
2638
+ # source://rack//lib/rack/constants.rb#52
2982
2639
  Rack::RACK_IS_HIJACK = T.let(T.unsafe(nil), String)
2983
2640
 
2984
- # source://rack//lib/rack/constants.rb#43
2641
+ # source://rack//lib/rack/constants.rb#45
2985
2642
  Rack::RACK_LOGGER = T.let(T.unsafe(nil), String)
2986
2643
 
2987
- # source://rack//lib/rack/constants.rb#63
2644
+ # source://rack//lib/rack/constants.rb#66
2988
2645
  Rack::RACK_METHODOVERRIDE_ORIGINAL_METHOD = T.let(T.unsafe(nil), String)
2989
2646
 
2990
- # source://rack//lib/rack/constants.rb#52
2647
+ # source://rack//lib/rack/constants.rb#54
2991
2648
  Rack::RACK_MULTIPART_BUFFER_SIZE = T.let(T.unsafe(nil), String)
2992
2649
 
2993
- # source://rack//lib/rack/constants.rb#53
2650
+ # source://rack//lib/rack/constants.rb#55
2994
2651
  Rack::RACK_MULTIPART_TEMPFILE_FACTORY = T.let(T.unsafe(nil), String)
2995
2652
 
2996
- # source://rack//lib/rack/constants.rb#51
2653
+ # source://rack//lib/rack/constants.rb#53
2997
2654
  Rack::RACK_RECURSIVE_INCLUDE = T.let(T.unsafe(nil), String)
2998
2655
 
2999
- # source://rack//lib/rack/constants.rb#59
2656
+ # source://rack//lib/rack/constants.rb#62
3000
2657
  Rack::RACK_REQUEST_COOKIE_HASH = T.let(T.unsafe(nil), String)
3001
2658
 
3002
- # source://rack//lib/rack/constants.rb#60
2659
+ # source://rack//lib/rack/constants.rb#63
3003
2660
  Rack::RACK_REQUEST_COOKIE_STRING = T.let(T.unsafe(nil), String)
3004
2661
 
3005
- # source://rack//lib/rack/constants.rb#58
2662
+ # source://rack//lib/rack/constants.rb#61
3006
2663
  Rack::RACK_REQUEST_FORM_ERROR = T.let(T.unsafe(nil), String)
3007
2664
 
3008
- # source://rack//lib/rack/constants.rb#56
2665
+ # source://rack//lib/rack/constants.rb#58
3009
2666
  Rack::RACK_REQUEST_FORM_HASH = T.let(T.unsafe(nil), String)
3010
2667
 
3011
- # source://rack//lib/rack/constants.rb#55
2668
+ # source://rack//lib/rack/constants.rb#57
3012
2669
  Rack::RACK_REQUEST_FORM_INPUT = T.let(T.unsafe(nil), String)
3013
2670
 
3014
- # source://rack//lib/rack/constants.rb#57
2671
+ # source://rack//lib/rack/constants.rb#59
2672
+ Rack::RACK_REQUEST_FORM_PAIRS = T.let(T.unsafe(nil), String)
2673
+
2674
+ # source://rack//lib/rack/constants.rb#60
3015
2675
  Rack::RACK_REQUEST_FORM_VARS = T.let(T.unsafe(nil), String)
3016
2676
 
3017
- # source://rack//lib/rack/constants.rb#61
2677
+ # source://rack//lib/rack/constants.rb#64
3018
2678
  Rack::RACK_REQUEST_QUERY_HASH = T.let(T.unsafe(nil), String)
3019
2679
 
3020
- # source://rack//lib/rack/constants.rb#62
2680
+ # source://rack//lib/rack/constants.rb#65
3021
2681
  Rack::RACK_REQUEST_QUERY_STRING = T.let(T.unsafe(nil), String)
3022
2682
 
3023
- # source://rack//lib/rack/constants.rb#54
2683
+ # source://rack//lib/rack/constants.rb#56
3024
2684
  Rack::RACK_RESPONSE_FINISHED = T.let(T.unsafe(nil), String)
3025
2685
 
3026
- # source://rack//lib/rack/constants.rb#45
2686
+ # source://rack//lib/rack/constants.rb#47
3027
2687
  Rack::RACK_SESSION = T.let(T.unsafe(nil), String)
3028
2688
 
3029
- # source://rack//lib/rack/constants.rb#46
2689
+ # source://rack//lib/rack/constants.rb#48
3030
2690
  Rack::RACK_SESSION_OPTIONS = T.let(T.unsafe(nil), String)
3031
2691
 
3032
- # source://rack//lib/rack/constants.rb#47
2692
+ # source://rack//lib/rack/constants.rb#49
3033
2693
  Rack::RACK_SHOWSTATUS_DETAIL = T.let(T.unsafe(nil), String)
3034
2694
 
3035
- # source://rack//lib/rack/constants.rb#41
2695
+ # source://rack//lib/rack/constants.rb#42
3036
2696
  Rack::RACK_TEMPFILES = T.let(T.unsafe(nil), String)
3037
2697
 
3038
- # source://rack//lib/rack/constants.rb#48
2698
+ # source://rack//lib/rack/constants.rb#50
3039
2699
  Rack::RACK_URL_SCHEME = T.let(T.unsafe(nil), String)
3040
2700
 
3041
2701
  # Rack environment variables
3042
2702
  #
3043
- # source://rack//lib/rack/constants.rb#40
2703
+ # source://rack//lib/rack/constants.rb#41
3044
2704
  Rack::RACK_VERSION = T.let(T.unsafe(nil), String)
3045
2705
 
3046
- # source://rack//lib/rack/version.rb#28
2706
+ # source://rack//lib/rack/version.rb#15
3047
2707
  Rack::RELEASE = T.let(T.unsafe(nil), String)
3048
2708
 
3049
2709
  # source://rack//lib/rack/constants.rb#9
@@ -3295,25 +2955,13 @@ module Rack::Request::Helpers
3295
2955
  # This method support both application/x-www-form-urlencoded and
3296
2956
  # multipart/form-data.
3297
2957
  #
3298
- # source://rack//lib/rack/request.rb#498
2958
+ # source://rack//lib/rack/request.rb#503
3299
2959
  def POST; end
3300
2960
 
3301
- # shortcut for <tt>request.params[key]</tt>
3302
- #
3303
- # source://rack//lib/rack/request.rb#609
3304
- def [](key); end
3305
-
3306
- # shortcut for <tt>request.params[key] = value</tt>
3307
- #
3308
- # Note that modifications will not be persisted in the env. Use update_param or delete_param if you want to destructively modify params.
3309
- #
3310
- # source://rack//lib/rack/request.rb#618
3311
- def []=(key, value); end
3312
-
3313
- # source://rack//lib/rack/request.rb#596
2961
+ # source://rack//lib/rack/request.rb#607
3314
2962
  def accept_encoding; end
3315
2963
 
3316
- # source://rack//lib/rack/request.rb#600
2964
+ # source://rack//lib/rack/request.rb#611
3317
2965
  def accept_language; end
3318
2966
 
3319
2967
  # The authority of the incoming request as defined by RFC3976.
@@ -3325,7 +2973,7 @@ module Rack::Request::Helpers
3325
2973
  # source://rack//lib/rack/request.rb#266
3326
2974
  def authority; end
3327
2975
 
3328
- # source://rack//lib/rack/request.rb#579
2976
+ # source://rack//lib/rack/request.rb#590
3329
2977
  def base_url; end
3330
2978
 
3331
2979
  # source://rack//lib/rack/request.rb#190
@@ -3361,7 +3009,7 @@ module Rack::Request::Helpers
3361
3009
  #
3362
3010
  # <tt>env['rack.input']</tt> is not touched.
3363
3011
  #
3364
- # source://rack//lib/rack/request.rb#574
3012
+ # source://rack//lib/rack/request.rb#585
3365
3013
  def delete_param(k); end
3366
3014
 
3367
3015
  # Determine whether the request body contains form-data by checking
@@ -3387,7 +3035,7 @@ module Rack::Request::Helpers
3387
3035
  # source://rack//lib/rack/request.rb#374
3388
3036
  def forwarded_port; end
3389
3037
 
3390
- # source://rack//lib/rack/request.rb#592
3038
+ # source://rack//lib/rack/request.rb#603
3391
3039
  def fullpath; end
3392
3040
 
3393
3041
  # Checks the HTTP request method (or verb) to see if it was of type GET
@@ -3468,7 +3116,7 @@ module Rack::Request::Helpers
3468
3116
  #
3469
3117
  # Note that modifications will not be persisted in the env. Use update_param or delete_param if you want to destructively modify params.
3470
3118
  #
3471
- # source://rack//lib/rack/request.rb#545
3119
+ # source://rack//lib/rack/request.rb#556
3472
3120
  def params; end
3473
3121
 
3474
3122
  # Determine whether the request body contains data by checking
@@ -3486,7 +3134,7 @@ module Rack::Request::Helpers
3486
3134
  # source://rack//lib/rack/request.rb#235
3487
3135
  def patch?; end
3488
3136
 
3489
- # source://rack//lib/rack/request.rb#588
3137
+ # source://rack//lib/rack/request.rb#599
3490
3138
  def path; end
3491
3139
 
3492
3140
  # source://rack//lib/rack/request.rb#194
@@ -3569,7 +3217,7 @@ module Rack::Request::Helpers
3569
3217
 
3570
3218
  # @return [Boolean]
3571
3219
  #
3572
- # source://rack//lib/rack/request.rb#604
3220
+ # source://rack//lib/rack/request.rb#615
3573
3221
  def trusted_proxy?(ip); end
3574
3222
 
3575
3223
  # Checks the HTTP request method (or verb) to see if it was of type UNLINK
@@ -3585,12 +3233,12 @@ module Rack::Request::Helpers
3585
3233
  #
3586
3234
  # <tt>env['rack.input']</tt> is not touched.
3587
3235
  #
3588
- # source://rack//lib/rack/request.rb#554
3236
+ # source://rack//lib/rack/request.rb#565
3589
3237
  def update_param(k, v); end
3590
3238
 
3591
3239
  # Tries to return a remake of the original request URL as a string.
3592
3240
  #
3593
- # source://rack//lib/rack/request.rb#584
3241
+ # source://rack//lib/rack/request.rb#595
3594
3242
  def url; end
3595
3243
 
3596
3244
  # source://rack//lib/rack/request.rb#201
@@ -3598,7 +3246,7 @@ module Rack::Request::Helpers
3598
3246
 
3599
3247
  # like Hash#values_at
3600
3248
  #
3601
- # source://rack//lib/rack/request.rb#625
3249
+ # source://rack//lib/rack/request.rb#620
3602
3250
  def values_at(*keys); end
3603
3251
 
3604
3252
  # @return [Boolean]
@@ -3608,54 +3256,57 @@ module Rack::Request::Helpers
3608
3256
 
3609
3257
  private
3610
3258
 
3611
- # source://rack//lib/rack/request.rb#757
3259
+ # source://rack//lib/rack/request.rb#776
3612
3260
  def allowed_scheme(header); end
3613
3261
 
3614
- # source://rack//lib/rack/request.rb#631
3262
+ # source://rack//lib/rack/request.rb#628
3615
3263
  def default_session; end
3616
3264
 
3617
- # source://rack//lib/rack/request.rb#761
3265
+ # source://rack//lib/rack/request.rb#684
3266
+ def expand_param_pairs(pairs, query_parser = T.unsafe(nil)); end
3267
+
3268
+ # source://rack//lib/rack/request.rb#780
3618
3269
  def forwarded_priority; end
3619
3270
 
3620
- # source://rack//lib/rack/request.rb#733
3271
+ # source://rack//lib/rack/request.rb#752
3621
3272
  def forwarded_scheme; end
3622
3273
 
3623
3274
  # Get an array of values set in the RFC 7239 `Forwarded` request header.
3624
3275
  #
3625
- # source://rack//lib/rack/request.rb#659
3276
+ # source://rack//lib/rack/request.rb#668
3626
3277
  def get_http_forwarded(token); end
3627
3278
 
3628
- # source://rack//lib/rack/request.rb#647
3279
+ # source://rack//lib/rack/request.rb#644
3629
3280
  def parse_http_accept_header(header); end
3630
3281
 
3631
- # source://rack//lib/rack/request.rb#671
3282
+ # source://rack//lib/rack/request.rb#680
3632
3283
  def parse_multipart; end
3633
3284
 
3634
- # source://rack//lib/rack/request.rb#667
3285
+ # source://rack//lib/rack/request.rb#676
3635
3286
  def parse_query(qs, d = T.unsafe(nil)); end
3636
3287
 
3637
- # source://rack//lib/rack/request.rb#663
3288
+ # source://rack//lib/rack/request.rb#672
3638
3289
  def query_parser; end
3639
3290
 
3640
- # source://rack//lib/rack/request.rb#724
3291
+ # source://rack//lib/rack/request.rb#743
3641
3292
  def reject_trusted_ip_addresses(ip_addresses); end
3642
3293
 
3643
- # source://rack//lib/rack/request.rb#718
3294
+ # source://rack//lib/rack/request.rb#737
3644
3295
  def split_authority(authority); end
3645
3296
 
3646
- # source://rack//lib/rack/request.rb#675
3297
+ # source://rack//lib/rack/request.rb#694
3647
3298
  def split_header(value); end
3648
3299
 
3649
3300
  # Assist with compatibility when processing `X-Forwarded-For`.
3650
3301
  #
3651
- # source://rack//lib/rack/request.rb#634
3302
+ # source://rack//lib/rack/request.rb#631
3652
3303
  def wrap_ipv6(host); end
3653
3304
 
3654
- # source://rack//lib/rack/request.rb#765
3305
+ # source://rack//lib/rack/request.rb#784
3655
3306
  def x_forwarded_proto_priority; end
3656
3307
  end
3657
3308
 
3658
- # source://rack//lib/rack/request.rb#703
3309
+ # source://rack//lib/rack/request.rb#722
3659
3310
  Rack::Request::Helpers::AUTHORITY = T.let(T.unsafe(nil), Regexp)
3660
3311
 
3661
3312
  # Default ports depending on scheme. Used to decide whether or not
@@ -3671,7 +3322,7 @@ Rack::Request::Helpers::DEFAULT_PORTS = T.let(T.unsafe(nil), Hash)
3671
3322
  # source://rack//lib/rack/request.rb#153
3672
3323
  Rack::Request::Helpers::FORM_DATA_MEDIA_TYPES = T.let(T.unsafe(nil), Array)
3673
3324
 
3674
- # source://rack//lib/rack/request.rb#728
3325
+ # source://rack//lib/rack/request.rb#747
3675
3326
  Rack::Request::Helpers::FORWARDED_SCHEME_HEADERS = T.let(T.unsafe(nil), Hash)
3676
3327
 
3677
3328
  # source://rack//lib/rack/request.rb#176
@@ -3756,17 +3407,17 @@ class Rack::Response
3756
3407
  # @yield [_self]
3757
3408
  # @yieldparam _self [Rack::Response] the object that the method was called on
3758
3409
  #
3759
- # source://rack//lib/rack/response.rb#61
3410
+ # source://rack//lib/rack/response.rb#54
3760
3411
  def initialize(body = T.unsafe(nil), status = T.unsafe(nil), headers = T.unsafe(nil)); end
3761
3412
 
3762
3413
  # @raise [ArgumentError]
3763
3414
  #
3764
- # source://rack//lib/rack/response.rb#163
3415
+ # source://rack//lib/rack/response.rb#164
3765
3416
  def [](key); end
3766
3417
 
3767
3418
  # @raise [ArgumentError]
3768
3419
  #
3769
- # source://rack//lib/rack/response.rb#167
3420
+ # source://rack//lib/rack/response.rb#168
3770
3421
  def []=(key, value); end
3771
3422
 
3772
3423
  # Returns the value of attribute body.
@@ -3783,23 +3434,23 @@ class Rack::Response
3783
3434
 
3784
3435
  # @return [Boolean]
3785
3436
  #
3786
- # source://rack//lib/rack/response.rb#101
3437
+ # source://rack//lib/rack/response.rb#95
3787
3438
  def chunked?; end
3788
3439
 
3789
- # source://rack//lib/rack/response.rb#151
3440
+ # source://rack//lib/rack/response.rb#152
3790
3441
  def close; end
3791
3442
 
3792
3443
  # @raise [ArgumentError]
3793
3444
  #
3794
- # source://rack//lib/rack/response.rb#171
3445
+ # source://rack//lib/rack/response.rb#172
3795
3446
  def delete_header(key); end
3796
3447
 
3797
- # source://rack//lib/rack/response.rb#131
3448
+ # source://rack//lib/rack/response.rb#130
3798
3449
  def each(&callback); end
3799
3450
 
3800
3451
  # @return [Boolean]
3801
3452
  #
3802
- # source://rack//lib/rack/response.rb#155
3453
+ # source://rack//lib/rack/response.rb#156
3803
3454
  def empty?; end
3804
3455
 
3805
3456
  # Generate a response array consistent with the requirements of the SPEC.
@@ -3807,25 +3458,20 @@ class Rack::Response
3807
3458
  #
3808
3459
  # @return [Array] a 3-tuple suitable of `[status, headers, body]`
3809
3460
  #
3810
- # source://rack//lib/rack/response.rb#113
3461
+ # source://rack//lib/rack/response.rb#107
3811
3462
  def finish(&block); end
3812
3463
 
3813
3464
  # @raise [ArgumentError]
3814
3465
  #
3815
- # source://rack//lib/rack/response.rb#163
3466
+ # source://rack//lib/rack/response.rb#164
3816
3467
  def get_header(key); end
3817
3468
 
3818
3469
  # @raise [ArgumentError]
3819
3470
  # @return [Boolean]
3820
3471
  #
3821
- # source://rack//lib/rack/response.rb#159
3472
+ # source://rack//lib/rack/response.rb#160
3822
3473
  def has_header?(key); end
3823
3474
 
3824
- # Deprecated, use headers instead.
3825
- #
3826
- # source://rack//lib/rack/response.rb#35
3827
- def header; end
3828
-
3829
3475
  # Returns the value of attribute headers.
3830
3476
  #
3831
3477
  # source://rack//lib/rack/response.rb#32
@@ -3845,15 +3491,15 @@ class Rack::Response
3845
3491
 
3846
3492
  # @return [Boolean]
3847
3493
  #
3848
- # source://rack//lib/rack/response.rb#105
3494
+ # source://rack//lib/rack/response.rb#99
3849
3495
  def no_entity_body?; end
3850
3496
 
3851
- # source://rack//lib/rack/response.rb#96
3497
+ # source://rack//lib/rack/response.rb#90
3852
3498
  def redirect(target, status = T.unsafe(nil)); end
3853
3499
 
3854
3500
  # @raise [ArgumentError]
3855
3501
  #
3856
- # source://rack//lib/rack/response.rb#167
3502
+ # source://rack//lib/rack/response.rb#168
3857
3503
  def set_header(key, value); end
3858
3504
 
3859
3505
  # Returns the value of attribute status.
@@ -3874,14 +3520,16 @@ class Rack::Response
3874
3520
  #
3875
3521
  # @return [Array] a 3-tuple suitable of `[status, headers, body]`
3876
3522
  #
3877
- # source://rack//lib/rack/response.rb#113
3523
+ # source://rack//lib/rack/response.rb#107
3878
3524
  def to_a(&block); end
3879
3525
 
3880
- # Append to body and update content-length.
3526
+ # Append a chunk to the response body.
3527
+ #
3528
+ # Converts the response into a buffered response if it wasn't already.
3881
3529
  #
3882
3530
  # NOTE: Do not mix #write and direct #body access!
3883
3531
  #
3884
- # source://rack//lib/rack/response.rb#145
3532
+ # source://rack//lib/rack/response.rb#146
3885
3533
  def write(chunk); end
3886
3534
 
3887
3535
  class << self
@@ -3893,11 +3541,11 @@ end
3893
3541
  # source://rack//lib/rack/response.rb#28
3894
3542
  Rack::Response::CHUNKED = T.let(T.unsafe(nil), String)
3895
3543
 
3896
- # source://rack//lib/rack/response.rb#179
3544
+ # source://rack//lib/rack/response.rb#180
3897
3545
  module Rack::Response::Helpers
3898
3546
  # @return [Boolean]
3899
3547
  #
3900
- # source://rack//lib/rack/response.rb#190
3548
+ # source://rack//lib/rack/response.rb#191
3901
3549
  def accepted?; end
3902
3550
 
3903
3551
  # Add a header that may have multiple values.
@@ -3912,12 +3560,12 @@ module Rack::Response::Helpers
3912
3560
  #
3913
3561
  # @raise [ArgumentError]
3914
3562
  #
3915
- # source://rack//lib/rack/response.rb#218
3563
+ # source://rack//lib/rack/response.rb#219
3916
3564
  def add_header(key, value); end
3917
3565
 
3918
3566
  # @return [Boolean]
3919
3567
  #
3920
- # source://rack//lib/rack/response.rb#193
3568
+ # source://rack//lib/rack/response.rb#194
3921
3569
  def bad_request?; end
3922
3570
 
3923
3571
  # Specify that the content should be cached.
@@ -3926,210 +3574,219 @@ module Rack::Response::Helpers
3926
3574
  # @param duration [Integer] The number of seconds until the cache expires.
3927
3575
  # @param directive [Hash] a customizable set of options
3928
3576
  #
3929
- # source://rack//lib/rack/response.rb#306
3577
+ # source://rack//lib/rack/response.rb#307
3930
3578
  def cache!(duration = T.unsafe(nil), directive: T.unsafe(nil)); end
3931
3579
 
3932
- # source://rack//lib/rack/response.rb#289
3580
+ # source://rack//lib/rack/response.rb#290
3933
3581
  def cache_control; end
3934
3582
 
3935
- # source://rack//lib/rack/response.rb#293
3583
+ # source://rack//lib/rack/response.rb#294
3936
3584
  def cache_control=(value); end
3937
3585
 
3938
3586
  # @return [Boolean]
3939
3587
  #
3940
- # source://rack//lib/rack/response.rb#185
3588
+ # source://rack//lib/rack/response.rb#186
3941
3589
  def client_error?; end
3942
3590
 
3943
- # source://rack//lib/rack/response.rb#256
3591
+ # source://rack//lib/rack/response.rb#257
3944
3592
  def content_length; end
3945
3593
 
3946
3594
  # Get the content type of the response.
3947
3595
  #
3948
- # source://rack//lib/rack/response.rb#239
3596
+ # source://rack//lib/rack/response.rb#240
3949
3597
  def content_type; end
3950
3598
 
3951
3599
  # Set the content type of the response.
3952
3600
  #
3953
- # source://rack//lib/rack/response.rb#244
3601
+ # source://rack//lib/rack/response.rb#245
3954
3602
  def content_type=(content_type); end
3955
3603
 
3956
3604
  # @return [Boolean]
3957
3605
  #
3958
- # source://rack//lib/rack/response.rb#189
3606
+ # source://rack//lib/rack/response.rb#190
3959
3607
  def created?; end
3960
3608
 
3961
- # source://rack//lib/rack/response.rb#273
3609
+ # source://rack//lib/rack/response.rb#274
3962
3610
  def delete_cookie(key, value = T.unsafe(nil)); end
3963
3611
 
3964
3612
  # Specifies that the content shouldn't be cached. Overrides `cache!` if already called.
3965
3613
  #
3966
- # source://rack//lib/rack/response.rb#298
3614
+ # source://rack//lib/rack/response.rb#299
3967
3615
  def do_not_cache!; end
3968
3616
 
3969
- # source://rack//lib/rack/response.rb#313
3617
+ # source://rack//lib/rack/response.rb#314
3970
3618
  def etag; end
3971
3619
 
3972
- # source://rack//lib/rack/response.rb#317
3620
+ # source://rack//lib/rack/response.rb#318
3973
3621
  def etag=(value); end
3974
3622
 
3975
3623
  # @return [Boolean]
3976
3624
  #
3977
- # source://rack//lib/rack/response.rb#195
3625
+ # source://rack//lib/rack/response.rb#196
3978
3626
  def forbidden?; end
3979
3627
 
3980
3628
  # @return [Boolean]
3981
3629
  #
3982
- # source://rack//lib/rack/response.rb#205
3630
+ # source://rack//lib/rack/response.rb#206
3983
3631
  def include?(header); end
3984
3632
 
3985
3633
  # @return [Boolean]
3986
3634
  #
3987
- # source://rack//lib/rack/response.rb#182
3635
+ # source://rack//lib/rack/response.rb#183
3988
3636
  def informational?; end
3989
3637
 
3990
3638
  # @return [Boolean]
3991
3639
  #
3992
- # source://rack//lib/rack/response.rb#180
3640
+ # source://rack//lib/rack/response.rb#181
3993
3641
  def invalid?; end
3994
3642
 
3995
- # source://rack//lib/rack/response.rb#261
3643
+ # source://rack//lib/rack/response.rb#262
3996
3644
  def location; end
3997
3645
 
3998
- # source://rack//lib/rack/response.rb#265
3646
+ # source://rack//lib/rack/response.rb#266
3999
3647
  def location=(location); end
4000
3648
 
4001
- # source://rack//lib/rack/response.rb#248
3649
+ # source://rack//lib/rack/response.rb#249
4002
3650
  def media_type; end
4003
3651
 
4004
- # source://rack//lib/rack/response.rb#252
3652
+ # source://rack//lib/rack/response.rb#253
4005
3653
  def media_type_params; end
4006
3654
 
4007
3655
  # @return [Boolean]
4008
3656
  #
4009
- # source://rack//lib/rack/response.rb#197
3657
+ # source://rack//lib/rack/response.rb#198
4010
3658
  def method_not_allowed?; end
4011
3659
 
4012
3660
  # @return [Boolean]
4013
3661
  #
4014
- # source://rack//lib/rack/response.rb#192
3662
+ # source://rack//lib/rack/response.rb#193
4015
3663
  def moved_permanently?; end
4016
3664
 
4017
3665
  # @return [Boolean]
4018
3666
  #
4019
- # source://rack//lib/rack/response.rb#191
3667
+ # source://rack//lib/rack/response.rb#192
4020
3668
  def no_content?; end
4021
3669
 
4022
3670
  # @return [Boolean]
4023
3671
  #
4024
- # source://rack//lib/rack/response.rb#198
3672
+ # source://rack//lib/rack/response.rb#199
4025
3673
  def not_acceptable?; end
4026
3674
 
4027
3675
  # @return [Boolean]
4028
3676
  #
4029
- # source://rack//lib/rack/response.rb#196
3677
+ # source://rack//lib/rack/response.rb#197
4030
3678
  def not_found?; end
4031
3679
 
4032
3680
  # @return [Boolean]
4033
3681
  #
4034
- # source://rack//lib/rack/response.rb#188
3682
+ # source://rack//lib/rack/response.rb#189
4035
3683
  def ok?; end
4036
3684
 
4037
3685
  # @return [Boolean]
4038
3686
  #
4039
- # source://rack//lib/rack/response.rb#200
3687
+ # source://rack//lib/rack/response.rb#201
4040
3688
  def precondition_failed?; end
4041
3689
 
4042
3690
  # @return [Boolean]
4043
3691
  #
4044
- # source://rack//lib/rack/response.rb#203
3692
+ # source://rack//lib/rack/response.rb#204
4045
3693
  def redirect?; end
4046
3694
 
4047
3695
  # @return [Boolean]
4048
3696
  #
4049
- # source://rack//lib/rack/response.rb#184
3697
+ # source://rack//lib/rack/response.rb#185
4050
3698
  def redirection?; end
4051
3699
 
4052
3700
  # @return [Boolean]
4053
3701
  #
4054
- # source://rack//lib/rack/response.rb#199
3702
+ # source://rack//lib/rack/response.rb#200
4055
3703
  def request_timeout?; end
4056
3704
 
4057
3705
  # @return [Boolean]
4058
3706
  #
4059
- # source://rack//lib/rack/response.rb#186
3707
+ # source://rack//lib/rack/response.rb#187
4060
3708
  def server_error?; end
4061
3709
 
4062
- # source://rack//lib/rack/response.rb#269
3710
+ # source://rack//lib/rack/response.rb#270
4063
3711
  def set_cookie(key, value); end
4064
3712
 
4065
- # source://rack//lib/rack/response.rb#281
3713
+ # source://rack//lib/rack/response.rb#282
4066
3714
  def set_cookie_header; end
4067
3715
 
4068
- # source://rack//lib/rack/response.rb#285
3716
+ # source://rack//lib/rack/response.rb#286
4069
3717
  def set_cookie_header=(value); end
4070
3718
 
4071
3719
  # @return [Boolean]
4072
3720
  #
4073
- # source://rack//lib/rack/response.rb#183
3721
+ # source://rack//lib/rack/response.rb#184
4074
3722
  def successful?; end
4075
3723
 
4076
3724
  # @return [Boolean]
4077
3725
  #
4078
- # source://rack//lib/rack/response.rb#194
3726
+ # source://rack//lib/rack/response.rb#195
4079
3727
  def unauthorized?; end
4080
3728
 
4081
3729
  # @return [Boolean]
4082
3730
  #
4083
- # source://rack//lib/rack/response.rb#201
3731
+ # source://rack//lib/rack/response.rb#202
4084
3732
  def unprocessable?; end
4085
3733
 
4086
3734
  protected
4087
3735
 
4088
- # source://rack//lib/rack/response.rb#351
3736
+ # source://rack//lib/rack/response.rb#359
4089
3737
  def append(chunk); end
4090
3738
 
4091
- # source://rack//lib/rack/response.rb#323
3739
+ # Convert the body of this response into an internally buffered Array if possible.
3740
+ #
3741
+ # `@buffered` is a ternary value which indicates whether the body is buffered. It can be:
3742
+ # * `nil` - The body has not been buffered yet.
3743
+ # * `true` - The body is buffered as an Array instance.
3744
+ # * `false` - The body is not buffered and cannot be buffered.
3745
+ #
3746
+ # @return [Boolean] whether the body is buffered as an Array instance.
3747
+ #
3748
+ # source://rack//lib/rack/response.rb#332
4092
3749
  def buffered_body!; end
4093
3750
  end
4094
3751
 
4095
- # source://rack//lib/rack/response.rb#365
3752
+ # source://rack//lib/rack/response.rb#375
4096
3753
  class Rack::Response::Raw
4097
3754
  include ::Rack::Response::Helpers
4098
3755
 
4099
3756
  # @return [Raw] a new instance of Raw
4100
3757
  #
4101
- # source://rack//lib/rack/response.rb#371
3758
+ # source://rack//lib/rack/response.rb#381
4102
3759
  def initialize(status, headers); end
4103
3760
 
4104
- # source://rack//lib/rack/response.rb#388
3761
+ # source://rack//lib/rack/response.rb#398
4105
3762
  def delete_header(key); end
4106
3763
 
4107
- # source://rack//lib/rack/response.rb#380
3764
+ # source://rack//lib/rack/response.rb#390
4108
3765
  def get_header(key); end
4109
3766
 
4110
3767
  # @return [Boolean]
4111
3768
  #
4112
- # source://rack//lib/rack/response.rb#376
3769
+ # source://rack//lib/rack/response.rb#386
4113
3770
  def has_header?(key); end
4114
3771
 
4115
3772
  # Returns the value of attribute headers.
4116
3773
  #
4117
- # source://rack//lib/rack/response.rb#368
3774
+ # source://rack//lib/rack/response.rb#378
4118
3775
  def headers; end
4119
3776
 
4120
- # source://rack//lib/rack/response.rb#384
3777
+ # source://rack//lib/rack/response.rb#394
4121
3778
  def set_header(key, value); end
4122
3779
 
4123
3780
  # Returns the value of attribute status.
4124
3781
  #
4125
- # source://rack//lib/rack/response.rb#369
3782
+ # source://rack//lib/rack/response.rb#379
4126
3783
  def status; end
4127
3784
 
4128
3785
  # Sets the attribute status
4129
3786
  #
4130
3787
  # @param value the value to set the attribute status to.
4131
3788
  #
4132
- # source://rack//lib/rack/response.rb#369
3789
+ # source://rack//lib/rack/response.rb#379
4133
3790
  def status=(_arg0); end
4134
3791
  end
4135
3792
 
@@ -4360,45 +4017,144 @@ end
4360
4017
  # Be careful when you use this on public-facing sites as it could
4361
4018
  # reveal information helpful to attackers.
4362
4019
  #
4363
- # source://rack//lib/rack/show_exceptions.rb#19
4020
+ # source://rack//lib/rack/show_exceptions.rb#18
4364
4021
  class Rack::ShowExceptions
4365
4022
  # @return [ShowExceptions] a new instance of ShowExceptions
4366
4023
  #
4367
- # source://rack//lib/rack/show_exceptions.rb#22
4024
+ # source://rack//lib/rack/show_exceptions.rb#26
4368
4025
  def initialize(app); end
4369
4026
 
4370
- # source://rack//lib/rack/show_exceptions.rb#26
4027
+ # source://rack//lib/rack/show_exceptions.rb#30
4371
4028
  def call(env); end
4372
4029
 
4373
- # source://rack//lib/rack/show_exceptions.rb#61
4030
+ # source://rack//lib/rack/show_exceptions.rb#65
4374
4031
  def dump_exception(exception); end
4375
4032
 
4376
- # source://rack//lib/rack/show_exceptions.rb#112
4033
+ # source://rack//lib/rack/show_exceptions.rb#116
4377
4034
  def h(obj); end
4378
4035
 
4379
4036
  # @return [Boolean]
4380
4037
  #
4381
- # source://rack//lib/rack/show_exceptions.rb#52
4038
+ # source://rack//lib/rack/show_exceptions.rb#56
4382
4039
  def prefers_plaintext?(env); end
4383
4040
 
4384
- # source://rack//lib/rack/show_exceptions.rb#72
4041
+ # source://rack//lib/rack/show_exceptions.rb#76
4385
4042
  def pretty(env, exception); end
4386
4043
 
4387
- # source://rack//lib/rack/show_exceptions.rb#108
4044
+ # source://rack//lib/rack/show_exceptions.rb#112
4388
4045
  def template; end
4389
4046
 
4390
4047
  private
4391
4048
 
4392
4049
  # @return [Boolean]
4393
4050
  #
4394
- # source://rack//lib/rack/show_exceptions.rb#56
4051
+ # source://rack//lib/rack/show_exceptions.rb#60
4395
4052
  def accepts_html?(env); end
4396
4053
  end
4397
4054
 
4398
- # source://rack//lib/rack/show_exceptions.rb#20
4055
+ # source://rack//lib/rack/show_exceptions.rb#19
4399
4056
  Rack::ShowExceptions::CONTEXT = T.let(T.unsafe(nil), Integer)
4400
4057
 
4401
- # source://rack//lib/rack/show_exceptions.rb#127
4058
+ # source://rack//lib/rack/show_exceptions.rb#21
4059
+ class Rack::ShowExceptions::Frame < ::Struct
4060
+ # Returns the value of attribute context_line
4061
+ #
4062
+ # @return [Object] the current value of context_line
4063
+ def context_line; end
4064
+
4065
+ # Sets the attribute context_line
4066
+ #
4067
+ # @param value [Object] the value to set the attribute context_line to.
4068
+ # @return [Object] the newly set value
4069
+ def context_line=(_); end
4070
+
4071
+ # Returns the value of attribute filename
4072
+ #
4073
+ # @return [Object] the current value of filename
4074
+ def filename; end
4075
+
4076
+ # Sets the attribute filename
4077
+ #
4078
+ # @param value [Object] the value to set the attribute filename to.
4079
+ # @return [Object] the newly set value
4080
+ def filename=(_); end
4081
+
4082
+ # Returns the value of attribute function
4083
+ #
4084
+ # @return [Object] the current value of function
4085
+ def function; end
4086
+
4087
+ # Sets the attribute function
4088
+ #
4089
+ # @param value [Object] the value to set the attribute function to.
4090
+ # @return [Object] the newly set value
4091
+ def function=(_); end
4092
+
4093
+ # Returns the value of attribute lineno
4094
+ #
4095
+ # @return [Object] the current value of lineno
4096
+ def lineno; end
4097
+
4098
+ # Sets the attribute lineno
4099
+ #
4100
+ # @param value [Object] the value to set the attribute lineno to.
4101
+ # @return [Object] the newly set value
4102
+ def lineno=(_); end
4103
+
4104
+ # Returns the value of attribute post_context
4105
+ #
4106
+ # @return [Object] the current value of post_context
4107
+ def post_context; end
4108
+
4109
+ # Sets the attribute post_context
4110
+ #
4111
+ # @param value [Object] the value to set the attribute post_context to.
4112
+ # @return [Object] the newly set value
4113
+ def post_context=(_); end
4114
+
4115
+ # Returns the value of attribute post_context_lineno
4116
+ #
4117
+ # @return [Object] the current value of post_context_lineno
4118
+ def post_context_lineno; end
4119
+
4120
+ # Sets the attribute post_context_lineno
4121
+ #
4122
+ # @param value [Object] the value to set the attribute post_context_lineno to.
4123
+ # @return [Object] the newly set value
4124
+ def post_context_lineno=(_); end
4125
+
4126
+ # Returns the value of attribute pre_context
4127
+ #
4128
+ # @return [Object] the current value of pre_context
4129
+ def pre_context; end
4130
+
4131
+ # Sets the attribute pre_context
4132
+ #
4133
+ # @param value [Object] the value to set the attribute pre_context to.
4134
+ # @return [Object] the newly set value
4135
+ def pre_context=(_); end
4136
+
4137
+ # Returns the value of attribute pre_context_lineno
4138
+ #
4139
+ # @return [Object] the current value of pre_context_lineno
4140
+ def pre_context_lineno; end
4141
+
4142
+ # Sets the attribute pre_context_lineno
4143
+ #
4144
+ # @param value [Object] the value to set the attribute pre_context_lineno to.
4145
+ # @return [Object] the newly set value
4146
+ def pre_context_lineno=(_); end
4147
+
4148
+ class << self
4149
+ def [](*_arg0); end
4150
+ def inspect; end
4151
+ def keyword_init?; end
4152
+ def members; end
4153
+ def new(*_arg0); end
4154
+ end
4155
+ end
4156
+
4157
+ # source://rack//lib/rack/show_exceptions.rb#131
4402
4158
  Rack::ShowExceptions::TEMPLATE = T.let(T.unsafe(nil), ERB)
4403
4159
 
4404
4160
  # Rack::ShowStatus catches all empty responses and replaces them
@@ -4538,7 +4294,7 @@ class Rack::Static
4538
4294
  def route_file(path); end
4539
4295
  end
4540
4296
 
4541
- # source://rack//lib/rack/constants.rb#37
4297
+ # source://rack//lib/rack/constants.rb#38
4542
4298
  Rack::TRACE = T.let(T.unsafe(nil), String)
4543
4299
 
4544
4300
  # source://rack//lib/rack/constants.rb#25
@@ -4559,7 +4315,7 @@ class Rack::TempfileReaper
4559
4315
  def call(env); end
4560
4316
  end
4561
4317
 
4562
- # source://rack//lib/rack/constants.rb#36
4318
+ # source://rack//lib/rack/constants.rb#37
4563
4319
  Rack::UNLINK = T.let(T.unsafe(nil), String)
4564
4320
 
4565
4321
  # Rack::URLMap takes a hash mapping urls or paths to apps, and
@@ -4598,46 +4354,40 @@ end
4598
4354
  # Rack::Utils contains a grab-bag of useful methods for writing web
4599
4355
  # applications adopted from all kinds of Ruby libraries.
4600
4356
  #
4601
- # source://rack//lib/rack/utils.rb#19
4357
+ # source://rack//lib/rack/utils.rb#20
4602
4358
  module Rack::Utils
4603
4359
  private
4604
4360
 
4605
- # source://rack//lib/rack/utils.rb#254
4606
- def add_cookie_to_header(header, key, value); end
4607
-
4608
- # source://rack//lib/rack/utils.rb#389
4609
- def add_remove_cookie_to_header(header, key, value = T.unsafe(nil)); end
4610
-
4611
4361
  # Return best accept value to use, based on the algorithm
4612
4362
  # in RFC 2616 Section 14. If there are multiple best
4613
4363
  # matches (same specificity and quality), the value returned
4614
4364
  # is arbitrary.
4615
4365
  #
4616
- # source://rack//lib/rack/utils.rb#173
4366
+ # source://rack//lib/rack/utils.rb#167
4617
4367
  def best_q_match(q_value_header, available_mimes); end
4618
4368
 
4619
- # source://rack//lib/rack/utils.rb#127
4369
+ # source://rack//lib/rack/utils.rb#120
4620
4370
  def build_nested_query(value, prefix = T.unsafe(nil)); end
4621
4371
 
4622
- # source://rack//lib/rack/utils.rb#117
4372
+ # source://rack//lib/rack/utils.rb#110
4623
4373
  def build_query(params); end
4624
4374
 
4625
4375
  # Parses the "Range:" header, if present, into an array of Range objects.
4626
4376
  # Returns nil if the header is missing or syntactically invalid.
4627
4377
  # Returns an empty array if none of the ranges are satisfiable.
4628
4378
  #
4629
- # source://rack//lib/rack/utils.rb#431
4379
+ # source://rack//lib/rack/utils.rb#409
4630
4380
  def byte_ranges(env, size); end
4631
4381
 
4632
- # source://rack//lib/rack/utils.rb#632
4382
+ # source://rack//lib/rack/utils.rb#609
4633
4383
  def clean_path_info(path_info); end
4634
4384
 
4635
4385
  # :nocov:
4636
4386
  #
4637
- # source://rack//lib/rack/utils.rb#98
4387
+ # source://rack//lib/rack/utils.rb#91
4638
4388
  def clock_time; end
4639
4389
 
4640
- # source://rack//lib/rack/utils.rb#383
4390
+ # source://rack//lib/rack/utils.rb#367
4641
4391
  def delete_cookie_header!(headers, key, value = T.unsafe(nil)); end
4642
4392
 
4643
4393
  # :call-seq:
@@ -4654,7 +4404,7 @@ module Rack::Utils
4654
4404
  # delete_set_cookie_header("myname")
4655
4405
  # # => "myname=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"
4656
4406
  #
4657
- # source://rack//lib/rack/utils.rb#373
4407
+ # source://rack//lib/rack/utils.rb#363
4658
4408
  def delete_set_cookie_header(key, value = T.unsafe(nil)); end
4659
4409
 
4660
4410
  # :call-seq:
@@ -4675,34 +4425,34 @@ module Rack::Utils
4675
4425
  # header
4676
4426
  # # => ["mycookie=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"]
4677
4427
  #
4678
- # source://rack//lib/rack/utils.rb#413
4428
+ # source://rack//lib/rack/utils.rb#391
4679
4429
  def delete_set_cookie_header!(header, key, value = T.unsafe(nil)); end
4680
4430
 
4681
4431
  # URI escapes. (CGI style space to +)
4682
4432
  #
4683
- # source://rack//lib/rack/utils.rb#38
4433
+ # source://rack//lib/rack/utils.rb#40
4684
4434
  def escape(s); end
4685
4435
 
4436
+ # source://rack//lib/rack/utils.rb#262
4437
+ def escape_cookie_key(key); end
4438
+
4686
4439
  # Escape ampersands, brackets and quotes to their HTML/XML entities.
4687
4440
  #
4688
- # source://rack//lib/rack/utils.rb#198
4441
+ # source://rack//lib/rack/utils.rb#187
4689
4442
  def escape_html(string); end
4690
4443
 
4691
4444
  # Like URI escaping, but with %20 instead of +. Strictly speaking this is
4692
4445
  # true URI escaping.
4693
4446
  #
4694
- # source://rack//lib/rack/utils.rb#44
4447
+ # source://rack//lib/rack/utils.rb#46
4695
4448
  def escape_path(s); end
4696
4449
 
4697
- # source://rack//lib/rack/utils.rb#156
4450
+ # source://rack//lib/rack/utils.rb#149
4698
4451
  def forwarded_values(forwarded_header); end
4699
4452
 
4700
- # source://rack//lib/rack/utils.rb#435
4453
+ # source://rack//lib/rack/utils.rb#413
4701
4454
  def get_byte_ranges(http_range, size); end
4702
4455
 
4703
- # source://rack//lib/rack/utils.rb#377
4704
- def make_delete_cookie_header(header, key, value); end
4705
-
4706
4456
  # :call-seq:
4707
4457
  # parse_cookies(env) -> hash
4708
4458
  #
@@ -4712,7 +4462,7 @@ module Rack::Utils
4712
4462
  # parse_cookies({'HTTP_COOKIE' => 'myname=myvalue'})
4713
4463
  # # => {'myname' => 'myvalue'}
4714
4464
  #
4715
- # source://rack//lib/rack/utils.rb#278
4465
+ # source://rack//lib/rack/utils.rb#253
4716
4466
  def parse_cookies(env); end
4717
4467
 
4718
4468
  # :call-seq:
@@ -4725,27 +4475,27 @@ module Rack::Utils
4725
4475
  # parse_cookies_header('myname=myvalue; max-age=0')
4726
4476
  # # => {"myname"=>"myvalue", "max-age"=>"0"}
4727
4477
  #
4728
- # source://rack//lib/rack/utils.rb#244
4478
+ # source://rack//lib/rack/utils.rb#234
4729
4479
  def parse_cookies_header(value); end
4730
4480
 
4731
- # source://rack//lib/rack/utils.rb#113
4481
+ # source://rack//lib/rack/utils.rb#106
4732
4482
  def parse_nested_query(qs, d = T.unsafe(nil)); end
4733
4483
 
4734
- # source://rack//lib/rack/utils.rb#109
4484
+ # source://rack//lib/rack/utils.rb#102
4735
4485
  def parse_query(qs, d = T.unsafe(nil), &unescaper); end
4736
4486
 
4737
- # source://rack//lib/rack/utils.rb#145
4487
+ # source://rack//lib/rack/utils.rb#138
4738
4488
  def q_values(q_value_header); end
4739
4489
 
4740
- # source://rack//lib/rack/utils.rb#424
4490
+ # source://rack//lib/rack/utils.rb#402
4741
4491
  def rfc2822(time); end
4742
4492
 
4743
4493
  # :nocov:
4744
4494
  #
4745
- # source://rack//lib/rack/utils.rb#472
4495
+ # source://rack//lib/rack/utils.rb#455
4746
4496
  def secure_compare(a, b); end
4747
4497
 
4748
- # source://rack//lib/rack/utils.rb#202
4498
+ # source://rack//lib/rack/utils.rb#192
4749
4499
  def select_best_encoding(available_encodings, accept_encoding); end
4750
4500
 
4751
4501
  # :call-seq:
@@ -4771,7 +4521,7 @@ module Rack::Utils
4771
4521
  # set_cookie_header("myname", {value: "myvalue", max_age: 10})
4772
4522
  # # => "myname=myvalue; max-age=10"
4773
4523
  #
4774
- # source://rack//lib/rack/utils.rb#305
4524
+ # source://rack//lib/rack/utils.rb#294
4775
4525
  def set_cookie_header(key, value); end
4776
4526
 
4777
4527
  # :call-seq:
@@ -4783,74 +4533,68 @@ module Rack::Utils
4783
4533
  # If the headers already contains a +set-cookie+ key, it will be converted
4784
4534
  # to an +Array+ if not already, and appended to.
4785
4535
  #
4786
- # source://rack//lib/rack/utils.rb#347
4536
+ # source://rack//lib/rack/utils.rb#337
4787
4537
  def set_cookie_header!(headers, key, value); end
4788
4538
 
4789
- # source://rack//lib/rack/utils.rb#622
4539
+ # source://rack//lib/rack/utils.rb#589
4790
4540
  def status_code(status); end
4791
4541
 
4792
4542
  # Unescapes a URI escaped string with +encoding+. +encoding+ will be the
4793
4543
  # target encoding of the string returned, and it defaults to UTF-8
4794
4544
  #
4795
- # source://rack//lib/rack/utils.rb#56
4545
+ # source://rack//lib/rack/utils.rb#58
4796
4546
  def unescape(s, encoding = T.unsafe(nil)); end
4797
4547
 
4798
4548
  # Unescapes the **path** component of a URI. See Rack::Utils.unescape for
4799
4549
  # unescaping query parameters or form components.
4800
4550
  #
4801
- # source://rack//lib/rack/utils.rb#50
4551
+ # source://rack//lib/rack/utils.rb#52
4802
4552
  def unescape_path(s); end
4803
4553
 
4804
- # source://rack//lib/rack/utils.rb#649
4554
+ # source://rack//lib/rack/utils.rb#626
4805
4555
  def valid_path?(path); end
4806
4556
 
4807
4557
  class << self
4808
- # source://rack//lib/rack/utils.rb#254
4809
- def add_cookie_to_header(header, key, value); end
4810
-
4811
- # source://rack//lib/rack/utils.rb#389
4812
- def add_remove_cookie_to_header(header, key, value = T.unsafe(nil)); end
4813
-
4814
4558
  # Return best accept value to use, based on the algorithm
4815
4559
  # in RFC 2616 Section 14. If there are multiple best
4816
4560
  # matches (same specificity and quality), the value returned
4817
4561
  # is arbitrary.
4818
4562
  #
4819
- # source://rack//lib/rack/utils.rb#173
4563
+ # source://rack//lib/rack/utils.rb#167
4820
4564
  def best_q_match(q_value_header, available_mimes); end
4821
4565
 
4822
- # source://rack//lib/rack/utils.rb#127
4566
+ # source://rack//lib/rack/utils.rb#120
4823
4567
  def build_nested_query(value, prefix = T.unsafe(nil)); end
4824
4568
 
4825
- # source://rack//lib/rack/utils.rb#117
4569
+ # source://rack//lib/rack/utils.rb#110
4826
4570
  def build_query(params); end
4827
4571
 
4828
4572
  # Parses the "Range:" header, if present, into an array of Range objects.
4829
4573
  # Returns nil if the header is missing or syntactically invalid.
4830
4574
  # Returns an empty array if none of the ranges are satisfiable.
4831
4575
  #
4832
- # source://rack//lib/rack/utils.rb#431
4576
+ # source://rack//lib/rack/utils.rb#409
4833
4577
  def byte_ranges(env, size); end
4834
4578
 
4835
- # source://rack//lib/rack/utils.rb#632
4579
+ # source://rack//lib/rack/utils.rb#609
4836
4580
  def clean_path_info(path_info); end
4837
4581
 
4838
- # source://rack//lib/rack/utils.rb#98
4582
+ # source://rack//lib/rack/utils.rb#91
4839
4583
  def clock_time; end
4840
4584
 
4841
4585
  # Returns the value of attribute default_query_parser.
4842
4586
  #
4843
- # source://rack//lib/rack/utils.rb#28
4587
+ # source://rack//lib/rack/utils.rb#30
4844
4588
  def default_query_parser; end
4845
4589
 
4846
4590
  # Sets the attribute default_query_parser
4847
4591
  #
4848
4592
  # @param value the value to set the attribute default_query_parser to.
4849
4593
  #
4850
- # source://rack//lib/rack/utils.rb#28
4594
+ # source://rack//lib/rack/utils.rb#30
4851
4595
  def default_query_parser=(_arg0); end
4852
4596
 
4853
- # source://rack//lib/rack/utils.rb#383
4597
+ # source://rack//lib/rack/utils.rb#367
4854
4598
  def delete_cookie_header!(headers, key, value = T.unsafe(nil)); end
4855
4599
 
4856
4600
  # :call-seq:
@@ -4867,7 +4611,7 @@ module Rack::Utils
4867
4611
  # delete_set_cookie_header("myname")
4868
4612
  # # => "myname=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"
4869
4613
  #
4870
- # source://rack//lib/rack/utils.rb#373
4614
+ # source://rack//lib/rack/utils.rb#363
4871
4615
  def delete_set_cookie_header(key, value = T.unsafe(nil)); end
4872
4616
 
4873
4617
  # :call-seq:
@@ -4888,82 +4632,74 @@ module Rack::Utils
4888
4632
  # header
4889
4633
  # # => ["mycookie=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"]
4890
4634
  #
4891
- # source://rack//lib/rack/utils.rb#413
4635
+ # source://rack//lib/rack/utils.rb#391
4892
4636
  def delete_set_cookie_header!(header, key, value = T.unsafe(nil)); end
4893
4637
 
4894
4638
  # URI escapes. (CGI style space to +)
4895
4639
  #
4896
- # source://rack//lib/rack/utils.rb#38
4640
+ # source://rack//lib/rack/utils.rb#40
4897
4641
  def escape(s); end
4898
4642
 
4899
- # Escape ampersands, brackets and quotes to their HTML/XML entities.
4900
- #
4901
- # source://rack//lib/rack/utils.rb#198
4643
+ # source://rack//lib/rack/utils.rb#262
4644
+ def escape_cookie_key(key); end
4645
+
4646
+ # source://rack//lib/rack/utils.rb#187
4902
4647
  def escape_html(string); end
4903
4648
 
4904
4649
  # Like URI escaping, but with %20 instead of +. Strictly speaking this is
4905
4650
  # true URI escaping.
4906
4651
  #
4907
- # source://rack//lib/rack/utils.rb#44
4652
+ # source://rack//lib/rack/utils.rb#46
4908
4653
  def escape_path(s); end
4909
4654
 
4910
- # source://rack//lib/rack/utils.rb#156
4655
+ # source://rack//lib/rack/utils.rb#149
4911
4656
  def forwarded_values(forwarded_header); end
4912
4657
 
4913
- # source://rack//lib/rack/utils.rb#435
4658
+ # source://rack//lib/rack/utils.rb#413
4914
4659
  def get_byte_ranges(http_range, size); end
4915
4660
 
4916
- # source://rack//lib/rack/utils.rb#88
4917
- def key_space_limit; end
4918
-
4919
- # source://rack//lib/rack/utils.rb#93
4920
- def key_space_limit=(v); end
4921
-
4922
- # source://rack//lib/rack/utils.rb#377
4923
- def make_delete_cookie_header(header, key, value); end
4924
-
4925
4661
  # Returns the value of attribute multipart_file_limit.
4926
4662
  #
4927
- # source://rack//lib/rack/utils.rb#63
4663
+ # source://rack//lib/rack/utils.rb#65
4928
4664
  def multipart_file_limit; end
4929
4665
 
4930
4666
  # Sets the attribute multipart_file_limit
4931
4667
  #
4932
4668
  # @param value the value to set the attribute multipart_file_limit to.
4933
4669
  #
4934
- # source://rack//lib/rack/utils.rb#63
4670
+ # source://rack//lib/rack/utils.rb#65
4935
4671
  def multipart_file_limit=(_arg0); end
4936
4672
 
4937
4673
  # Returns the value of attribute multipart_file_limit.
4938
4674
  # multipart_part_limit is the original name of multipart_file_limit, but
4939
4675
  # the limit only counts parts with filenames.
4940
4676
  #
4941
- # source://rack//lib/rack/utils.rb#63
4677
+ # source://rack//lib/rack/utils.rb#65
4942
4678
  def multipart_part_limit; end
4943
4679
 
4944
4680
  # Sets the attribute multipart_file_limit
4945
4681
  #
4946
4682
  # @param value the value to set the attribute multipart_file_limit to.
4947
4683
  #
4948
- # source://rack//lib/rack/utils.rb#63
4684
+ # source://rack//lib/rack/utils.rb#65
4949
4685
  def multipart_part_limit=(_arg0); end
4950
4686
 
4951
4687
  # Returns the value of attribute multipart_total_part_limit.
4952
4688
  #
4953
- # source://rack//lib/rack/utils.rb#61
4689
+ # source://rack//lib/rack/utils.rb#63
4954
4690
  def multipart_total_part_limit; end
4955
4691
 
4956
4692
  # Sets the attribute multipart_total_part_limit
4957
4693
  #
4958
4694
  # @param value the value to set the attribute multipart_total_part_limit to.
4959
4695
  #
4960
- # source://rack//lib/rack/utils.rb#61
4696
+ # source://rack//lib/rack/utils.rb#63
4961
4697
  def multipart_total_part_limit=(_arg0); end
4962
4698
 
4963
- # source://rack//lib/rack/utils.rb#80
4699
+ # source://rack//lib/rack/utils.rb#82
4964
4700
  def param_depth_limit; end
4965
4701
 
4966
- # source://rack//lib/rack/utils.rb#84
4702
+ # source://rack//lib/rack/utils.rb#86
4967
4703
  def param_depth_limit=(v); end
4968
4704
 
4969
4705
  # :call-seq:
@@ -4975,7 +4711,7 @@ module Rack::Utils
4975
4711
  # parse_cookies({'HTTP_COOKIE' => 'myname=myvalue'})
4976
4712
  # # => {'myname' => 'myvalue'}
4977
4713
  #
4978
- # source://rack//lib/rack/utils.rb#278
4714
+ # source://rack//lib/rack/utils.rb#253
4979
4715
  def parse_cookies(env); end
4980
4716
 
4981
4717
  # :call-seq:
@@ -4988,25 +4724,25 @@ module Rack::Utils
4988
4724
  # parse_cookies_header('myname=myvalue; max-age=0')
4989
4725
  # # => {"myname"=>"myvalue", "max-age"=>"0"}
4990
4726
  #
4991
- # source://rack//lib/rack/utils.rb#244
4727
+ # source://rack//lib/rack/utils.rb#234
4992
4728
  def parse_cookies_header(value); end
4993
4729
 
4994
- # source://rack//lib/rack/utils.rb#113
4730
+ # source://rack//lib/rack/utils.rb#106
4995
4731
  def parse_nested_query(qs, d = T.unsafe(nil)); end
4996
4732
 
4997
- # source://rack//lib/rack/utils.rb#109
4733
+ # source://rack//lib/rack/utils.rb#102
4998
4734
  def parse_query(qs, d = T.unsafe(nil), &unescaper); end
4999
4735
 
5000
- # source://rack//lib/rack/utils.rb#145
4736
+ # source://rack//lib/rack/utils.rb#138
5001
4737
  def q_values(q_value_header); end
5002
4738
 
5003
- # source://rack//lib/rack/utils.rb#424
4739
+ # source://rack//lib/rack/utils.rb#402
5004
4740
  def rfc2822(time); end
5005
4741
 
5006
- # source://rack//lib/rack/utils.rb#472
4742
+ # source://rack//lib/rack/utils.rb#455
5007
4743
  def secure_compare(a, b); end
5008
4744
 
5009
- # source://rack//lib/rack/utils.rb#202
4745
+ # source://rack//lib/rack/utils.rb#192
5010
4746
  def select_best_encoding(available_encodings, accept_encoding); end
5011
4747
 
5012
4748
  # :call-seq:
@@ -5032,7 +4768,7 @@ module Rack::Utils
5032
4768
  # set_cookie_header("myname", {value: "myvalue", max_age: 10})
5033
4769
  # # => "myname=myvalue; max-age=10"
5034
4770
  #
5035
- # source://rack//lib/rack/utils.rb#305
4771
+ # source://rack//lib/rack/utils.rb#294
5036
4772
  def set_cookie_header(key, value); end
5037
4773
 
5038
4774
  # :call-seq:
@@ -5044,32 +4780,32 @@ module Rack::Utils
5044
4780
  # If the headers already contains a +set-cookie+ key, it will be converted
5045
4781
  # to an +Array+ if not already, and appended to.
5046
4782
  #
5047
- # source://rack//lib/rack/utils.rb#347
4783
+ # source://rack//lib/rack/utils.rb#337
5048
4784
  def set_cookie_header!(headers, key, value); end
5049
4785
 
5050
- # source://rack//lib/rack/utils.rb#622
4786
+ # source://rack//lib/rack/utils.rb#589
5051
4787
  def status_code(status); end
5052
4788
 
5053
4789
  # Unescapes a URI escaped string with +encoding+. +encoding+ will be the
5054
4790
  # target encoding of the string returned, and it defaults to UTF-8
5055
4791
  #
5056
- # source://rack//lib/rack/utils.rb#56
4792
+ # source://rack//lib/rack/utils.rb#58
5057
4793
  def unescape(s, encoding = T.unsafe(nil)); end
5058
4794
 
5059
4795
  # Unescapes the **path** component of a URI. See Rack::Utils.unescape for
5060
4796
  # unescaping query parameters or form components.
5061
4797
  #
5062
- # source://rack//lib/rack/utils.rb#50
4798
+ # source://rack//lib/rack/utils.rb#52
5063
4799
  def unescape_path(s); end
5064
4800
 
5065
4801
  # @return [Boolean]
5066
4802
  #
5067
- # source://rack//lib/rack/utils.rb#649
4803
+ # source://rack//lib/rack/utils.rb#626
5068
4804
  def valid_path?(path); end
5069
4805
  end
5070
4806
  end
5071
4807
 
5072
- # source://rack//lib/rack/utils.rb#24
4808
+ # source://rack//lib/rack/utils.rb#25
5073
4809
  Rack::Utils::COMMON_SEP = T.let(T.unsafe(nil), Hash)
5074
4810
 
5075
4811
  # Context allows the use of a compatible middleware at different points
@@ -5078,107 +4814,83 @@ Rack::Utils::COMMON_SEP = T.let(T.unsafe(nil), Hash)
5078
4814
  # would be the request environment. The second of which would be the rack
5079
4815
  # application that the request would be forwarded to.
5080
4816
  #
5081
- # source://rack//lib/rack/utils.rb#495
4817
+ # source://rack//lib/rack/utils.rb#478
5082
4818
  class Rack::Utils::Context
5083
4819
  # @return [Context] a new instance of Context
5084
4820
  #
5085
- # source://rack//lib/rack/utils.rb#498
4821
+ # source://rack//lib/rack/utils.rb#481
5086
4822
  def initialize(app_f, app_r); end
5087
4823
 
5088
4824
  # Returns the value of attribute app.
5089
4825
  #
5090
- # source://rack//lib/rack/utils.rb#496
4826
+ # source://rack//lib/rack/utils.rb#479
5091
4827
  def app; end
5092
4828
 
5093
- # source://rack//lib/rack/utils.rb#503
4829
+ # source://rack//lib/rack/utils.rb#486
5094
4830
  def call(env); end
5095
4831
 
5096
- # source://rack//lib/rack/utils.rb#511
4832
+ # source://rack//lib/rack/utils.rb#494
5097
4833
  def context(env, app = T.unsafe(nil)); end
5098
4834
 
5099
4835
  # Returns the value of attribute for.
5100
4836
  #
5101
- # source://rack//lib/rack/utils.rb#496
4837
+ # source://rack//lib/rack/utils.rb#479
5102
4838
  def for; end
5103
4839
 
5104
- # source://rack//lib/rack/utils.rb#507
4840
+ # source://rack//lib/rack/utils.rb#490
5105
4841
  def recontext(app); end
5106
4842
  end
5107
4843
 
5108
- # source://rack//lib/rack/utils.rb#23
4844
+ # source://rack//lib/rack/utils.rb#24
5109
4845
  Rack::Utils::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp)
5110
4846
 
5111
- # source://rack//lib/rack/utils.rb#186
5112
- Rack::Utils::ESCAPE_HTML = T.let(T.unsafe(nil), Hash)
5113
-
5114
- # source://rack//lib/rack/utils.rb#195
5115
- Rack::Utils::ESCAPE_HTML_PATTERN = T.let(T.unsafe(nil), Regexp)
5116
-
5117
4847
  # Every standard HTTP code mapped to the appropriate message.
5118
4848
  # Generated with:
5119
- # curl -s https://www.iana.org/assignments/http-status-codes/http-status-codes-1.csv | \
5120
- # ruby -ne 'm = /^(\d{3}),(?!Unassigned|\(Unused\))([^,]+)/.match($_) and \
5121
- # puts "#{m[1]} => \x27#{m[2].strip}\x27,"'
4849
+ # curl -s https://www.iana.org/assignments/http-status-codes/http-status-codes-1.csv \
4850
+ # | ruby -rcsv -e "puts CSV.parse(STDIN, headers: true) \
4851
+ # .reject {|v| v['Description'] == 'Unassigned' or v['Description'].include? '(' } \
4852
+ # .map {|v| %Q/#{v['Value']} => '#{v['Description']}'/ }.join(','+?\n)"
5122
4853
  #
5123
- # source://rack//lib/rack/utils.rb#549
4854
+ # source://rack//lib/rack/utils.rb#505
5124
4855
  Rack::Utils::HTTP_STATUS_CODES = T.let(T.unsafe(nil), Hash)
5125
4856
 
5126
- # A wrapper around Headers
5127
- # header when set.
5128
- #
5129
- # @api private
5130
- #
5131
- # source://rack//lib/rack/utils.rb#520
5132
- class Rack::Utils::HeaderHash < ::Hash
5133
- class << self
5134
- # @api private
5135
- #
5136
- # source://rack//lib/rack/utils.rb#521
5137
- def [](headers); end
5138
-
5139
- # @api private
5140
- # @raise [TypeError]
5141
- #
5142
- # source://rack//lib/rack/utils.rb#539
5143
- def allocate; end
5144
-
5145
- # @api private
5146
- #
5147
- # source://rack//lib/rack/utils.rb#532
5148
- def new(hash = T.unsafe(nil)); end
5149
- end
5150
- end
5151
-
5152
- # source://rack//lib/rack/utils.rb#21
4857
+ # source://rack//lib/rack/utils.rb#22
5153
4858
  Rack::Utils::InvalidParameterError = Rack::QueryParser::InvalidParameterError
5154
4859
 
5155
- # source://rack//lib/rack/utils.rb#25
4860
+ # source://rack//lib/rack/utils.rb#26
5156
4861
  Rack::Utils::KeySpaceConstrainedParams = Rack::QueryParser::Params
5157
4862
 
5158
- # source://rack//lib/rack/utils.rb#647
4863
+ # source://rack//lib/rack/utils.rb#624
5159
4864
  Rack::Utils::NULL_BYTE = T.let(T.unsafe(nil), String)
5160
4865
 
5161
- # source://rack//lib/rack/utils.rb#630
4866
+ # source://rack//lib/rack/utils.rb#575
4867
+ Rack::Utils::OBSOLETE_SYMBOLS_TO_STATUS_CODES = T.let(T.unsafe(nil), Hash)
4868
+
4869
+ # source://rack//lib/rack/utils.rb#583
4870
+ Rack::Utils::OBSOLETE_SYMBOL_MAPPINGS = T.let(T.unsafe(nil), Hash)
4871
+
4872
+ # source://rack//lib/rack/utils.rb#607
5162
4873
  Rack::Utils::PATH_SEPS = T.let(T.unsafe(nil), Regexp)
5163
4874
 
5164
- # source://rack//lib/rack/utils.rb#20
4875
+ # source://rack//lib/rack/utils.rb#21
5165
4876
  Rack::Utils::ParameterTypeError = Rack::QueryParser::ParameterTypeError
5166
4877
 
5167
- # source://rack//lib/rack/utils.rb#22
4878
+ # source://rack//lib/rack/utils.rb#23
5168
4879
  Rack::Utils::ParamsTooDeepError = Rack::QueryParser::ParamsTooDeepError
5169
4880
 
5170
4881
  # Responses with HTTP status codes that should not have an entity body
5171
4882
  #
5172
- # source://rack//lib/rack/utils.rb#616
4883
+ # source://rack//lib/rack/utils.rb#569
5173
4884
  Rack::Utils::STATUS_WITH_NO_ENTITY_BODY = T.let(T.unsafe(nil), Hash)
5174
4885
 
5175
- # source://rack//lib/rack/utils.rb#618
4886
+ # source://rack//lib/rack/utils.rb#571
5176
4887
  Rack::Utils::SYMBOL_TO_STATUS_CODE = T.let(T.unsafe(nil), Hash)
5177
4888
 
5178
- # The Rack protocol version number implemented.
5179
- #
5180
- # source://rack//lib/rack/version.rb#16
5181
- Rack::VERSION = T.let(T.unsafe(nil), Array)
4889
+ # source://rack//lib/rack/utils.rb#27
4890
+ Rack::Utils::URI_PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)
5182
4891
 
5183
- # source://rack//lib/rack/version.rb#19
5184
- Rack::VERSION_STRING = T.let(T.unsafe(nil), String)
4892
+ # A valid cookie key according to RFC2616.
4893
+ # A <cookie-name> can be any US-ASCII characters, except control characters, spaces, or tabs. It also must not contain a separator character like the following: ( ) < > @ , ; : \ " / [ ] ? = { }.
4894
+ #
4895
+ # source://rack//lib/rack/utils.rb#259
4896
+ Rack::Utils::VALID_COOKIE_KEY = T.let(T.unsafe(nil), Regexp)