packwerk 3.2.2 → 3.2.3

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/packwerk/application_validator.rb +2 -1
  3. data/lib/packwerk/graph.rb +15 -56
  4. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +1 -2
  5. data/lib/packwerk/run_context.rb +5 -0
  6. data/lib/packwerk/validators/dependency_validator.rb +5 -4
  7. data/lib/packwerk/version.rb +1 -1
  8. data/sorbet/rbi/gems/{actionpack@7.0.3.1.rbi → actionpack@7.0.8.7.rbi} +1338 -1227
  9. data/sorbet/rbi/gems/{actionview@7.0.3.1.rbi → actionview@7.0.8.7.rbi} +548 -503
  10. data/sorbet/rbi/gems/{activesupport@7.0.3.1.rbi → activesupport@7.0.8.7.rbi} +714 -635
  11. data/sorbet/rbi/gems/{better_html@2.0.1.rbi → better_html@2.1.1.rbi} +21 -21
  12. data/sorbet/rbi/gems/{concurrent-ruby@1.1.10.rbi → concurrent-ruby@1.3.5.rbi} +1390 -1366
  13. data/sorbet/rbi/gems/{constant_resolver@0.2.0.rbi → constant_resolver@0.3.0.rbi} +22 -13
  14. data/sorbet/rbi/gems/{erubi@1.11.0.rbi → erubi@1.13.1.rbi} +28 -17
  15. data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.14.7.rbi} +234 -172
  16. data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.7.2.rbi} +94 -74
  17. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  18. data/sorbet/rbi/gems/{loofah@2.18.0.rbi → loofah@2.24.0.rbi} +470 -243
  19. data/sorbet/rbi/gems/{minitest@5.16.2.rbi → minitest@5.25.4.rbi} +577 -472
  20. data/sorbet/rbi/gems/{mocha@1.14.0.rbi → mocha@2.5.0.rbi} +468 -684
  21. data/sorbet/rbi/gems/{nokogiri@1.15.3.rbi → nokogiri@1.18.4.rbi} +1756 -869
  22. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.25.1.rbi} +26 -20
  23. data/sorbet/rbi/gems/{racc@1.7.1.rbi → racc@1.8.1.rbi} +36 -36
  24. data/sorbet/rbi/gems/{rack-test@2.0.2.rbi → rack-test@2.2.0.rbi} +87 -114
  25. data/sorbet/rbi/gems/{rack@2.2.4.rbi → rack@2.2.13.rbi} +243 -195
  26. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +754 -0
  27. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +764 -0
  28. data/sorbet/rbi/gems/{railties@7.0.3.1.rbi → railties@7.0.8.7.rbi} +146 -140
  29. data/sorbet/rbi/gems/{regexp_parser@2.5.0.rbi → regexp_parser@2.9.2.rbi} +947 -542
  30. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.3.9.rbi} +452 -312
  31. data/sorbet/rbi/gems/{rubocop-ast@1.21.0.rbi → rubocop-ast@1.31.3.rbi} +717 -588
  32. data/sorbet/rbi/gems/{rubocop@1.34.1.rbi → rubocop@1.64.1.rbi} +10916 -4406
  33. data/sorbet/rbi/gems/{ruby-progressbar@1.11.0.rbi → ruby-progressbar@1.13.0.rbi} +359 -281
  34. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  35. data/sorbet/rbi/gems/{tzinfo@2.0.5.rbi → tzinfo@2.0.6.rbi} +144 -141
  36. data/sorbet/rbi/gems/{unicode-display_width@2.2.0.rbi → unicode-display_width@2.5.0.rbi} +24 -7
  37. metadata +36 -41
  38. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +0 -8
  39. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
  40. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +0 -455
  41. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +0 -542
  42. data/sorbet/rbi/gems/ruby-lsp@0.2.3.rbi +0 -11
  43. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +0 -8
  44. /data/sorbet/rbi/gems/{builder@3.2.4.rbi → builder@3.3.0.rbi} +0 -0
  45. /data/sorbet/rbi/gems/{parser@3.3.1.0.rbi → parser@3.3.3.0.rbi} +0 -0
@@ -105,33 +105,33 @@ Rack::Auth::AbstractRequest::AUTHORIZATION_KEYS = T.let(T.unsafe(nil), Array)
105
105
  #
106
106
  # See also: <tt>example/protectedlobster.rb</tt>
107
107
  #
108
- # source://rack//lib/rack/auth/basic.rb#16
108
+ # source://rack//lib/rack/auth/basic.rb#15
109
109
  class Rack::Auth::Basic < ::Rack::Auth::AbstractHandler
110
- # source://rack//lib/rack/auth/basic.rb#18
110
+ # source://rack//lib/rack/auth/basic.rb#17
111
111
  def call(env); end
112
112
 
113
113
  private
114
114
 
115
- # source://rack//lib/rack/auth/basic.rb#37
115
+ # source://rack//lib/rack/auth/basic.rb#36
116
116
  def challenge; end
117
117
 
118
118
  # @return [Boolean]
119
119
  #
120
- # source://rack//lib/rack/auth/basic.rb#41
120
+ # source://rack//lib/rack/auth/basic.rb#40
121
121
  def valid?(auth); end
122
122
  end
123
123
 
124
- # source://rack//lib/rack/auth/basic.rb#45
124
+ # source://rack//lib/rack/auth/basic.rb#44
125
125
  class Rack::Auth::Basic::Request < ::Rack::Auth::AbstractRequest
126
126
  # @return [Boolean]
127
127
  #
128
- # source://rack//lib/rack/auth/basic.rb#46
128
+ # source://rack//lib/rack/auth/basic.rb#45
129
129
  def basic?; end
130
130
 
131
- # source://rack//lib/rack/auth/basic.rb#50
131
+ # source://rack//lib/rack/auth/basic.rb#49
132
132
  def credentials; end
133
133
 
134
- # source://rack//lib/rack/auth/basic.rb#54
134
+ # source://rack//lib/rack/auth/basic.rb#53
135
135
  def username; end
136
136
  end
137
137
 
@@ -243,60 +243,60 @@ Rack::Auth::Digest::MD5::QOP = T.let(T.unsafe(nil), String)
243
243
  # +time_limit+ can be optionally set to an integer (number of seconds),
244
244
  # to limit the validity of the generated nonces.
245
245
  #
246
- # source://rack//lib/rack/auth/digest/nonce.rb#17
246
+ # source://rack//lib/rack/auth/digest/nonce.rb#16
247
247
  class Rack::Auth::Digest::Nonce
248
248
  # @return [Nonce] a new instance of Nonce
249
249
  #
250
- # source://rack//lib/rack/auth/digest/nonce.rb#27
250
+ # source://rack//lib/rack/auth/digest/nonce.rb#26
251
251
  def initialize(timestamp = T.unsafe(nil), given_digest = T.unsafe(nil)); end
252
252
 
253
- # source://rack//lib/rack/auth/digest/nonce.rb#35
253
+ # source://rack//lib/rack/auth/digest/nonce.rb#34
254
254
  def digest; end
255
255
 
256
256
  # @return [Boolean]
257
257
  #
258
- # source://rack//lib/rack/auth/digest/nonce.rb#47
258
+ # source://rack//lib/rack/auth/digest/nonce.rb#46
259
259
  def fresh?; end
260
260
 
261
261
  # @return [Boolean]
262
262
  #
263
- # source://rack//lib/rack/auth/digest/nonce.rb#43
263
+ # source://rack//lib/rack/auth/digest/nonce.rb#42
264
264
  def stale?; end
265
265
 
266
- # source://rack//lib/rack/auth/digest/nonce.rb#31
266
+ # source://rack//lib/rack/auth/digest/nonce.rb#30
267
267
  def to_s; end
268
268
 
269
269
  # @return [Boolean]
270
270
  #
271
- # source://rack//lib/rack/auth/digest/nonce.rb#39
271
+ # source://rack//lib/rack/auth/digest/nonce.rb#38
272
272
  def valid?; end
273
273
 
274
274
  class << self
275
- # source://rack//lib/rack/auth/digest/nonce.rb#23
275
+ # source://rack//lib/rack/auth/digest/nonce.rb#22
276
276
  def parse(string); end
277
277
 
278
278
  # Returns the value of attribute private_key.
279
279
  #
280
- # source://rack//lib/rack/auth/digest/nonce.rb#20
280
+ # source://rack//lib/rack/auth/digest/nonce.rb#19
281
281
  def private_key; end
282
282
 
283
283
  # Sets the attribute private_key
284
284
  #
285
285
  # @param value the value to set the attribute private_key to.
286
286
  #
287
- # source://rack//lib/rack/auth/digest/nonce.rb#20
287
+ # source://rack//lib/rack/auth/digest/nonce.rb#19
288
288
  def private_key=(_arg0); end
289
289
 
290
290
  # Returns the value of attribute time_limit.
291
291
  #
292
- # source://rack//lib/rack/auth/digest/nonce.rb#20
292
+ # source://rack//lib/rack/auth/digest/nonce.rb#19
293
293
  def time_limit; end
294
294
 
295
295
  # Sets the attribute time_limit
296
296
  #
297
297
  # @param value the value to set the attribute time_limit to.
298
298
  #
299
- # source://rack//lib/rack/auth/digest/nonce.rb#20
299
+ # source://rack//lib/rack/auth/digest/nonce.rb#19
300
300
  def time_limit=(_arg0); end
301
301
  end
302
302
  end
@@ -833,7 +833,7 @@ class Rack::CommonLogger
833
833
  # Attempt to determine the content length for the response to
834
834
  # include it in the logged data.
835
835
  #
836
- # source://rack//lib/rack/common_logger.rb#78
836
+ # source://rack//lib/rack/common_logger.rb#79
837
837
  def extract_content_length(headers); end
838
838
 
839
839
  # Log the request to the configured logger.
@@ -1605,6 +1605,8 @@ class Rack::Lint
1605
1605
  # source://rack//lib/rack/lint.rb#10
1606
1606
  def initialize(app); end
1607
1607
 
1608
+ # @raise [LintError]
1609
+ #
1608
1610
  # source://rack//lib/rack/lint.rb#41
1609
1611
  def _call(env); end
1610
1612
 
@@ -1616,27 +1618,29 @@ class Rack::Lint
1616
1618
 
1617
1619
  # === The Content-Length
1618
1620
  #
1619
- # source://rack//lib/rack/lint.rb#719
1621
+ # source://rack//lib/rack/lint.rb#708
1620
1622
  def check_content_length(status, headers); end
1621
1623
 
1622
1624
  # === The Content-Type
1623
1625
  #
1624
- # source://rack//lib/rack/lint.rb#705
1626
+ # source://rack//lib/rack/lint.rb#694
1625
1627
  def check_content_type(status, headers); end
1626
1628
 
1627
1629
  # == The Environment
1628
1630
  #
1629
- # source://rack//lib/rack/lint.rb#77
1631
+ # @raise [LintError]
1632
+ #
1633
+ # source://rack//lib/rack/lint.rb#73
1630
1634
  def check_env(env); end
1631
1635
 
1632
1636
  # === The Error Stream
1633
1637
  #
1634
- # source://rack//lib/rack/lint.rb#497
1638
+ # source://rack//lib/rack/lint.rb#483
1635
1639
  def check_error(error); end
1636
1640
 
1637
1641
  # === The Headers
1638
1642
  #
1639
- # source://rack//lib/rack/lint.rb#668
1643
+ # source://rack//lib/rack/lint.rb#656
1640
1644
  def check_headers(header); end
1641
1645
 
1642
1646
  # === Hijacking
@@ -1647,14 +1651,14 @@ class Rack::Lint
1647
1651
  #
1648
1652
  # ==== Request (before status)
1649
1653
  #
1650
- # source://rack//lib/rack/lint.rb#562
1654
+ # source://rack//lib/rack/lint.rb#548
1651
1655
  def check_hijack(env); end
1652
1656
 
1653
1657
  # ==== Response (after headers)
1654
1658
  # It is also possible to hijack a response after the status and headers
1655
1659
  # have been sent.
1656
1660
  #
1657
- # source://rack//lib/rack/lint.rb#609
1661
+ # source://rack//lib/rack/lint.rb#595
1658
1662
  def check_hijack_response(headers, env); end
1659
1663
 
1660
1664
  # === The Input Stream
@@ -1662,23 +1666,23 @@ class Rack::Lint
1662
1666
  # The input stream is an IO-like object which contains the raw HTTP
1663
1667
  # POST data.
1664
1668
  #
1665
- # source://rack//lib/rack/lint.rb#377
1669
+ # source://rack//lib/rack/lint.rb#365
1666
1670
  def check_input(input); end
1667
1671
 
1668
1672
  # === The Status
1669
1673
  #
1670
- # source://rack//lib/rack/lint.rb#661
1674
+ # source://rack//lib/rack/lint.rb#647
1671
1675
  def check_status(status); end
1672
1676
 
1673
- # source://rack//lib/rack/lint.rb#792
1677
+ # source://rack//lib/rack/lint.rb#781
1674
1678
  def close; end
1675
1679
 
1676
1680
  # === The Body
1677
1681
  #
1678
- # source://rack//lib/rack/lint.rb#745
1682
+ # source://rack//lib/rack/lint.rb#734
1679
1683
  def each; end
1680
1684
 
1681
- # source://rack//lib/rack/lint.rb#732
1685
+ # source://rack//lib/rack/lint.rb#721
1682
1686
  def verify_content_length(bytes); end
1683
1687
  end
1684
1688
 
@@ -1688,45 +1692,49 @@ module Rack::Lint::Assertion
1688
1692
  def assert(message); end
1689
1693
  end
1690
1694
 
1691
- # source://rack//lib/rack/lint.rb#506
1695
+ # source://rack//lib/rack/lint.rb#492
1692
1696
  class Rack::Lint::ErrorWrapper
1693
1697
  include ::Rack::Lint::Assertion
1694
1698
 
1695
1699
  # @return [ErrorWrapper] a new instance of ErrorWrapper
1696
1700
  #
1697
- # source://rack//lib/rack/lint.rb#509
1701
+ # source://rack//lib/rack/lint.rb#495
1698
1702
  def initialize(error); end
1699
1703
 
1700
1704
  # * +close+ must never be called on the error stream.
1701
1705
  #
1702
- # source://rack//lib/rack/lint.rb#531
1706
+ # @raise [LintError]
1707
+ #
1708
+ # source://rack//lib/rack/lint.rb#517
1703
1709
  def close(*args); end
1704
1710
 
1705
1711
  # * +flush+ must be called without arguments and must be called
1706
1712
  # in order to make the error appear for sure.
1707
1713
  #
1708
- # source://rack//lib/rack/lint.rb#526
1714
+ # source://rack//lib/rack/lint.rb#512
1709
1715
  def flush; end
1710
1716
 
1711
1717
  # * +puts+ must be called with a single argument that responds to +to_s+.
1712
1718
  #
1713
- # source://rack//lib/rack/lint.rb#514
1719
+ # source://rack//lib/rack/lint.rb#500
1714
1720
  def puts(str); end
1715
1721
 
1716
1722
  # * +write+ must be called with a single argument that is a String.
1717
1723
  #
1718
- # source://rack//lib/rack/lint.rb#519
1724
+ # @raise [LintError]
1725
+ #
1726
+ # source://rack//lib/rack/lint.rb#505
1719
1727
  def write(str); end
1720
1728
  end
1721
1729
 
1722
- # source://rack//lib/rack/lint.rb#536
1730
+ # source://rack//lib/rack/lint.rb#522
1723
1731
  class Rack::Lint::HijackWrapper
1724
1732
  include ::Rack::Lint::Assertion
1725
1733
  extend ::Forwardable
1726
1734
 
1727
1735
  # @return [HijackWrapper] a new instance of HijackWrapper
1728
1736
  #
1729
- # source://rack//lib/rack/lint.rb#547
1737
+ # source://rack//lib/rack/lint.rb#533
1730
1738
  def initialize(io); end
1731
1739
 
1732
1740
  # source://forwardable/1.3.3/forwardable.rb#231
@@ -1757,32 +1765,38 @@ class Rack::Lint::HijackWrapper
1757
1765
  def write_nonblock(*args, **_arg1, &block); end
1758
1766
  end
1759
1767
 
1760
- # source://rack//lib/rack/lint.rb#540
1768
+ # source://rack//lib/rack/lint.rb#526
1761
1769
  Rack::Lint::HijackWrapper::REQUIRED_METHODS = T.let(T.unsafe(nil), Array)
1762
1770
 
1763
- # source://rack//lib/rack/lint.rb#395
1771
+ # source://rack//lib/rack/lint.rb#383
1764
1772
  class Rack::Lint::InputWrapper
1765
1773
  include ::Rack::Lint::Assertion
1766
1774
 
1767
1775
  # @return [InputWrapper] a new instance of InputWrapper
1768
1776
  #
1769
- # source://rack//lib/rack/lint.rb#398
1777
+ # source://rack//lib/rack/lint.rb#386
1770
1778
  def initialize(input); end
1771
1779
 
1772
1780
  # * +close+ must never be called on the input stream.
1773
1781
  #
1774
- # source://rack//lib/rack/lint.rb#491
1782
+ # @raise [LintError]
1783
+ #
1784
+ # source://rack//lib/rack/lint.rb#477
1775
1785
  def close(*args); end
1776
1786
 
1777
1787
  # * +each+ must be called without arguments and only yield Strings.
1778
1788
  #
1779
- # source://rack//lib/rack/lint.rb#463
1789
+ # @raise [LintError]
1790
+ #
1791
+ # source://rack//lib/rack/lint.rb#451
1780
1792
  def each(*args); end
1781
1793
 
1782
1794
  # * +gets+ must be called without arguments and return a string,
1783
1795
  # or +nil+ on EOF.
1784
1796
  #
1785
- # source://rack//lib/rack/lint.rb#404
1797
+ # @raise [LintError]
1798
+ #
1799
+ # source://rack//lib/rack/lint.rb#392
1786
1800
  def gets(*args); end
1787
1801
 
1788
1802
  # * +read+ behaves like IO#read.
@@ -1803,7 +1817,7 @@ class Rack::Lint::InputWrapper
1803
1817
  # If +buffer+ is given, then the read data will be placed
1804
1818
  # into +buffer+ instead of a newly created String object.
1805
1819
  #
1806
- # source://rack//lib/rack/lint.rb#430
1820
+ # source://rack//lib/rack/lint.rb#418
1807
1821
  def read(*args); end
1808
1822
 
1809
1823
  # * +rewind+ must be called without arguments. It rewinds the input
@@ -1812,7 +1826,9 @@ class Rack::Lint::InputWrapper
1812
1826
  # developers must buffer the input data into some rewindable object
1813
1827
  # if the underlying input stream is not rewindable.
1814
1828
  #
1815
- # source://rack//lib/rack/lint.rb#478
1829
+ # @raise [LintError]
1830
+ #
1831
+ # source://rack//lib/rack/lint.rb#466
1816
1832
  def rewind(*args); end
1817
1833
  end
1818
1834
 
@@ -1864,7 +1880,7 @@ class Rack::MediaType
1864
1880
  # this method responds with the following Hash:
1865
1881
  # { 'charset' => 'utf-8' }
1866
1882
  #
1867
- # source://rack//lib/rack/media_type.rb#26
1883
+ # source://rack//lib/rack/media_type.rb#30
1868
1884
  def params(content_type); end
1869
1885
 
1870
1886
  # The media type (type/subtype) portion of the CONTENT_TYPE header
@@ -1879,7 +1895,7 @@ class Rack::MediaType
1879
1895
 
1880
1896
  private
1881
1897
 
1882
- # source://rack//lib/rack/media_type.rb#38
1898
+ # source://rack//lib/rack/media_type.rb#43
1883
1899
  def strip_doublequotes(str); end
1884
1900
  end
1885
1901
  end
@@ -2273,149 +2289,152 @@ Rack::Multipart::MULTIPART_CONTENT_TYPE = T.let(T.unsafe(nil), Regexp)
2273
2289
  # source://rack//lib/rack/multipart/parser.rb#7
2274
2290
  class Rack::Multipart::MultipartPartLimitError < ::Errno::EMFILE; end
2275
2291
 
2276
- # source://rack//lib/rack/multipart/parser.rb#9
2292
+ # source://rack//lib/rack/multipart/parser.rb#8
2293
+ class Rack::Multipart::MultipartTotalPartLimitError < ::StandardError; end
2294
+
2295
+ # source://rack//lib/rack/multipart/parser.rb#10
2277
2296
  class Rack::Multipart::Parser
2278
2297
  # @return [Parser] a new instance of Parser
2279
2298
  #
2280
- # source://rack//lib/rack/multipart/parser.rb#167
2299
+ # source://rack//lib/rack/multipart/parser.rb#180
2281
2300
  def initialize(boundary, tempfile, bufsize, query_parser); end
2282
2301
 
2283
- # source://rack//lib/rack/multipart/parser.rb#185
2302
+ # source://rack//lib/rack/multipart/parser.rb#199
2284
2303
  def on_read(content); end
2285
2304
 
2286
- # source://rack//lib/rack/multipart/parser.rb#191
2305
+ # source://rack//lib/rack/multipart/parser.rb#205
2287
2306
  def result; end
2288
2307
 
2289
2308
  # Returns the value of attribute state.
2290
2309
  #
2291
- # source://rack//lib/rack/multipart/parser.rb#165
2310
+ # source://rack//lib/rack/multipart/parser.rb#178
2292
2311
  def state; end
2293
2312
 
2294
2313
  private
2295
2314
 
2296
- # source://rack//lib/rack/multipart/parser.rb#283
2315
+ # source://rack//lib/rack/multipart/parser.rb#302
2297
2316
  def consume_boundary; end
2298
2317
 
2299
- # source://rack//lib/rack/multipart/parser.rb#281
2318
+ # source://rack//lib/rack/multipart/parser.rb#300
2300
2319
  def full_boundary; end
2301
2320
 
2302
- # source://rack//lib/rack/multipart/parser.rb#293
2321
+ # source://rack//lib/rack/multipart/parser.rb#312
2303
2322
  def get_filename(head); end
2304
2323
 
2305
- # source://rack//lib/rack/multipart/parser.rb#229
2324
+ # source://rack//lib/rack/multipart/parser.rb#248
2306
2325
  def handle_consume_token; end
2307
2326
 
2308
- # source://rack//lib/rack/multipart/parser.rb#358
2327
+ # source://rack//lib/rack/multipart/parser.rb#377
2309
2328
  def handle_empty_content!(content); end
2310
2329
 
2311
- # source://rack//lib/rack/multipart/parser.rb#220
2330
+ # source://rack//lib/rack/multipart/parser.rb#234
2312
2331
  def handle_fast_forward; end
2313
2332
 
2314
- # source://rack//lib/rack/multipart/parser.rb#262
2333
+ # source://rack//lib/rack/multipart/parser.rb#281
2315
2334
  def handle_mime_body; end
2316
2335
 
2317
- # source://rack//lib/rack/multipart/parser.rb#239
2336
+ # source://rack//lib/rack/multipart/parser.rb#258
2318
2337
  def handle_mime_head; end
2319
2338
 
2320
- # source://rack//lib/rack/multipart/parser.rb#203
2339
+ # source://rack//lib/rack/multipart/parser.rb#217
2321
2340
  def run_parser; end
2322
2341
 
2323
- # source://rack//lib/rack/multipart/parser.rb#330
2342
+ # source://rack//lib/rack/multipart/parser.rb#349
2324
2343
  def tag_multipart_encoding(filename, content_type, name, body); end
2325
2344
 
2326
2345
  class << self
2327
- # source://rack//lib/rack/multipart/parser.rb#63
2346
+ # source://rack//lib/rack/multipart/parser.rb#66
2328
2347
  def parse(io, content_length, content_type, tmpfile, bufsize, qp); end
2329
2348
 
2330
- # source://rack//lib/rack/multipart/parser.rb#56
2349
+ # source://rack//lib/rack/multipart/parser.rb#59
2331
2350
  def parse_boundary(content_type); end
2332
2351
  end
2333
2352
  end
2334
2353
 
2335
- # source://rack//lib/rack/multipart/parser.rb#18
2354
+ # source://rack//lib/rack/multipart/parser.rb#21
2336
2355
  Rack::Multipart::Parser::BOUNDARY_REGEX = T.let(T.unsafe(nil), Regexp)
2337
2356
 
2338
- # source://rack//lib/rack/multipart/parser.rb#12
2357
+ # source://rack//lib/rack/multipart/parser.rb#13
2339
2358
  Rack::Multipart::Parser::BUFSIZE = T.let(T.unsafe(nil), Integer)
2340
2359
 
2341
- # source://rack//lib/rack/multipart/parser.rb#20
2360
+ # source://rack//lib/rack/multipart/parser.rb#23
2342
2361
  class Rack::Multipart::Parser::BoundedIO
2343
2362
  # @return [BoundedIO] a new instance of BoundedIO
2344
2363
  #
2345
- # source://rack//lib/rack/multipart/parser.rb#21
2364
+ # source://rack//lib/rack/multipart/parser.rb#24
2346
2365
  def initialize(io, content_length); end
2347
2366
 
2348
- # source://rack//lib/rack/multipart/parser.rb#27
2367
+ # source://rack//lib/rack/multipart/parser.rb#30
2349
2368
  def read(size, outbuf = T.unsafe(nil)); end
2350
2369
 
2351
- # source://rack//lib/rack/multipart/parser.rb#48
2370
+ # source://rack//lib/rack/multipart/parser.rb#51
2352
2371
  def rewind; end
2353
2372
  end
2354
2373
 
2355
- # source://rack//lib/rack/multipart/parser.rb#328
2374
+ # source://rack//lib/rack/multipart/parser.rb#347
2356
2375
  Rack::Multipart::Parser::CHARSET = T.let(T.unsafe(nil), String)
2357
2376
 
2358
- # source://rack//lib/rack/multipart/parser.rb#84
2377
+ # source://rack//lib/rack/multipart/parser.rb#87
2359
2378
  class Rack::Multipart::Parser::Collector
2360
2379
  include ::Enumerable
2361
2380
 
2362
2381
  # @return [Collector] a new instance of Collector
2363
2382
  #
2364
- # source://rack//lib/rack/multipart/parser.rb#120
2383
+ # source://rack//lib/rack/multipart/parser.rb#123
2365
2384
  def initialize(tempfile); end
2366
2385
 
2367
- # source://rack//lib/rack/multipart/parser.rb#126
2386
+ # source://rack//lib/rack/multipart/parser.rb#129
2368
2387
  def each; end
2369
2388
 
2370
- # source://rack//lib/rack/multipart/parser.rb#146
2389
+ # source://rack//lib/rack/multipart/parser.rb#149
2371
2390
  def on_mime_body(mime_index, content); end
2372
2391
 
2373
- # source://rack//lib/rack/multipart/parser.rb#150
2392
+ # source://rack//lib/rack/multipart/parser.rb#153
2374
2393
  def on_mime_finish(mime_index); end
2375
2394
 
2376
- # source://rack//lib/rack/multipart/parser.rb#130
2395
+ # source://rack//lib/rack/multipart/parser.rb#133
2377
2396
  def on_mime_head(mime_index, head, filename, content_type, name); end
2378
2397
 
2379
2398
  private
2380
2399
 
2381
- # source://rack//lib/rack/multipart/parser.rb#155
2382
- def check_open_files; end
2400
+ # source://rack//lib/rack/multipart/parser.rb#158
2401
+ def check_part_limits; end
2383
2402
  end
2384
2403
 
2385
- # source://rack//lib/rack/multipart/parser.rb#108
2404
+ # source://rack//lib/rack/multipart/parser.rb#111
2386
2405
  class Rack::Multipart::Parser::Collector::BufferPart < ::Rack::Multipart::Parser::Collector::MimePart
2387
- # source://rack//lib/rack/multipart/parser.rb#110
2406
+ # source://rack//lib/rack/multipart/parser.rb#113
2388
2407
  def close; end
2389
2408
 
2390
2409
  # @return [Boolean]
2391
2410
  #
2392
- # source://rack//lib/rack/multipart/parser.rb#109
2411
+ # source://rack//lib/rack/multipart/parser.rb#112
2393
2412
  def file?; end
2394
2413
  end
2395
2414
 
2396
- # source://rack//lib/rack/multipart/parser.rb#85
2415
+ # source://rack//lib/rack/multipart/parser.rb#88
2397
2416
  class Rack::Multipart::Parser::Collector::MimePart < ::Struct
2398
2417
  # @yield [data]
2399
2418
  #
2400
- # source://rack//lib/rack/multipart/parser.rb#86
2419
+ # source://rack//lib/rack/multipart/parser.rb#89
2401
2420
  def get_data; end
2402
2421
  end
2403
2422
 
2404
- # source://rack//lib/rack/multipart/parser.rb#113
2423
+ # source://rack//lib/rack/multipart/parser.rb#116
2405
2424
  class Rack::Multipart::Parser::Collector::TempfilePart < ::Rack::Multipart::Parser::Collector::MimePart
2406
- # source://rack//lib/rack/multipart/parser.rb#115
2425
+ # source://rack//lib/rack/multipart/parser.rb#118
2407
2426
  def close; end
2408
2427
 
2409
2428
  # @return [Boolean]
2410
2429
  #
2411
- # source://rack//lib/rack/multipart/parser.rb#114
2430
+ # source://rack//lib/rack/multipart/parser.rb#117
2412
2431
  def file?; end
2413
2432
  end
2414
2433
 
2415
- # source://rack//lib/rack/multipart/parser.rb#54
2434
+ # source://rack//lib/rack/multipart/parser.rb#57
2416
2435
  Rack::Multipart::Parser::EMPTY = T.let(T.unsafe(nil), Rack::Multipart::Parser::MultipartInfo)
2417
2436
 
2418
- # source://rack//lib/rack/multipart/parser.rb#53
2437
+ # source://rack//lib/rack/multipart/parser.rb#56
2419
2438
  class Rack::Multipart::Parser::MultipartInfo < ::Struct
2420
2439
  # Returns the value of attribute params
2421
2440
  #
@@ -2448,10 +2467,10 @@ class Rack::Multipart::Parser::MultipartInfo < ::Struct
2448
2467
  end
2449
2468
  end
2450
2469
 
2451
- # source://rack//lib/rack/multipart/parser.rb#14
2470
+ # source://rack//lib/rack/multipart/parser.rb#15
2452
2471
  Rack::Multipart::Parser::TEMPFILE_FACTORY = T.let(T.unsafe(nil), Proc)
2453
2472
 
2454
- # source://rack//lib/rack/multipart/parser.rb#13
2473
+ # source://rack//lib/rack/multipart/parser.rb#14
2455
2474
  Rack::Multipart::Parser::TEXT_PLAIN = T.let(T.unsafe(nil), String)
2456
2475
 
2457
2476
  # source://rack//lib/rack/multipart.rb#28
@@ -5015,7 +5034,7 @@ class Rack::Static
5015
5034
 
5016
5035
  # Convert HTTP header rules to HTTP headers
5017
5036
  #
5018
- # source://rack//lib/rack/static.rb#166
5037
+ # source://rack//lib/rack/static.rb#167
5019
5038
  def applicable_rules(path); end
5020
5039
 
5021
5040
  # source://rack//lib/rack/static.rb#123
@@ -5095,13 +5114,13 @@ end
5095
5114
  module Rack::Utils
5096
5115
  private
5097
5116
 
5098
- # source://rack//lib/rack/utils.rb#226
5117
+ # source://rack//lib/rack/utils.rb#238
5099
5118
  def add_cookie_to_header(header, key, value); end
5100
5119
 
5101
5120
  # Adds a cookie that will *remove* a cookie from the client. Hence the
5102
5121
  # strange method name.
5103
5122
  #
5104
- # source://rack//lib/rack/utils.rb#309
5123
+ # source://rack//lib/rack/utils.rb#321
5105
5124
  def add_remove_cookie_to_header(header, key, value = T.unsafe(nil)); end
5106
5125
 
5107
5126
  # Return best accept value to use, based on the algorithm
@@ -5109,68 +5128,68 @@ module Rack::Utils
5109
5128
  # matches (same specificity and quality), the value returned
5110
5129
  # is arbitrary.
5111
5130
  #
5112
- # source://rack//lib/rack/utils.rb#148
5131
+ # source://rack//lib/rack/utils.rb#160
5113
5132
  def best_q_match(q_value_header, available_mimes); end
5114
5133
 
5115
- # source://rack//lib/rack/utils.rb#115
5134
+ # source://rack//lib/rack/utils.rb#127
5116
5135
  def build_nested_query(value, prefix = T.unsafe(nil)); end
5117
5136
 
5118
- # source://rack//lib/rack/utils.rb#105
5137
+ # source://rack//lib/rack/utils.rb#117
5119
5138
  def build_query(params); end
5120
5139
 
5121
5140
  # Parses the "Range:" header, if present, into an array of Range objects.
5122
5141
  # Returns nil if the header is missing or syntactically invalid.
5123
5142
  # Returns an empty array if none of the ranges are satisfiable.
5124
5143
  #
5125
- # source://rack//lib/rack/utils.rb#341
5144
+ # source://rack//lib/rack/utils.rb#353
5126
5145
  def byte_ranges(env, size); end
5127
5146
 
5128
- # source://rack//lib/rack/utils.rb#594
5147
+ # source://rack//lib/rack/utils.rb#610
5129
5148
  def clean_path_info(path_info); end
5130
5149
 
5131
5150
  # :nocov:
5132
5151
  #
5133
- # source://rack//lib/rack/utils.rb#86
5152
+ # source://rack//lib/rack/utils.rb#98
5134
5153
  def clock_time; end
5135
5154
 
5136
- # source://rack//lib/rack/utils.rb#302
5155
+ # source://rack//lib/rack/utils.rb#314
5137
5156
  def delete_cookie_header!(header, key, value = T.unsafe(nil)); end
5138
5157
 
5139
5158
  # URI escapes. (CGI style space to +)
5140
5159
  #
5141
- # source://rack//lib/rack/utils.rb#38
5160
+ # source://rack//lib/rack/utils.rb#39
5142
5161
  def escape(s); end
5143
5162
 
5144
5163
  # Escape ampersands, brackets and quotes to their HTML/XML entities.
5145
5164
  #
5146
- # source://rack//lib/rack/utils.rb#173
5165
+ # source://rack//lib/rack/utils.rb#185
5147
5166
  def escape_html(string); end
5148
5167
 
5149
5168
  # Like URI escaping, but with %20 instead of +. Strictly speaking this is
5150
5169
  # true URI escaping.
5151
5170
  #
5152
- # source://rack//lib/rack/utils.rb#44
5171
+ # source://rack//lib/rack/utils.rb#45
5153
5172
  def escape_path(s); end
5154
5173
 
5155
- # source://rack//lib/rack/utils.rb#346
5174
+ # source://rack//lib/rack/utils.rb#358
5156
5175
  def get_byte_ranges(http_range, size); end
5157
5176
 
5158
- # source://rack//lib/rack/utils.rb#272
5177
+ # source://rack//lib/rack/utils.rb#284
5159
5178
  def make_delete_cookie_header(header, key, value); end
5160
5179
 
5161
- # source://rack//lib/rack/utils.rb#209
5180
+ # source://rack//lib/rack/utils.rb#221
5162
5181
  def parse_cookies(env); end
5163
5182
 
5164
- # source://rack//lib/rack/utils.rb#213
5183
+ # source://rack//lib/rack/utils.rb#225
5165
5184
  def parse_cookies_header(header); end
5166
5185
 
5167
- # source://rack//lib/rack/utils.rb#101
5186
+ # source://rack//lib/rack/utils.rb#113
5168
5187
  def parse_nested_query(qs, d = T.unsafe(nil)); end
5169
5188
 
5170
- # source://rack//lib/rack/utils.rb#97
5189
+ # source://rack//lib/rack/utils.rb#109
5171
5190
  def parse_query(qs, d = T.unsafe(nil), &unescaper); end
5172
5191
 
5173
- # source://rack//lib/rack/utils.rb#133
5192
+ # source://rack//lib/rack/utils.rb#145
5174
5193
  def q_values(q_value_header); end
5175
5194
 
5176
5195
  # Modified version of stdlib time.rb Time#rfc2822 to use '%d-%b-%Y' instead
@@ -5182,10 +5201,10 @@ module Rack::Utils
5182
5201
  # Do not use %a and %b from Time.strptime, it would use localized names for
5183
5202
  # weekday and month.
5184
5203
  #
5185
- # source://rack//lib/rack/utils.rb#332
5204
+ # source://rack//lib/rack/utils.rb#344
5186
5205
  def rfc2109(time); end
5187
5206
 
5188
- # source://rack//lib/rack/utils.rb#319
5207
+ # source://rack//lib/rack/utils.rb#331
5189
5208
  def rfc2822(time); end
5190
5209
 
5191
5210
  # Constant time string comparison.
@@ -5195,41 +5214,41 @@ module Rack::Utils
5195
5214
  # on variable length plaintext strings because it could leak length info
5196
5215
  # via timing attacks.
5197
5216
  #
5198
- # source://rack//lib/rack/utils.rb#380
5217
+ # source://rack//lib/rack/utils.rb#396
5199
5218
  def secure_compare(a, b); end
5200
5219
 
5201
- # source://rack//lib/rack/utils.rb#177
5220
+ # source://rack//lib/rack/utils.rb#189
5202
5221
  def select_best_encoding(available_encodings, accept_encoding); end
5203
5222
 
5204
- # source://rack//lib/rack/utils.rb#267
5223
+ # source://rack//lib/rack/utils.rb#279
5205
5224
  def set_cookie_header!(header, key, value); end
5206
5225
 
5207
- # source://rack//lib/rack/utils.rb#584
5226
+ # source://rack//lib/rack/utils.rb#600
5208
5227
  def status_code(status); end
5209
5228
 
5210
5229
  # Unescapes a URI escaped string with +encoding+. +encoding+ will be the
5211
5230
  # target encoding of the string returned, and it defaults to UTF-8
5212
5231
  #
5213
- # source://rack//lib/rack/utils.rb#56
5232
+ # source://rack//lib/rack/utils.rb#57
5214
5233
  def unescape(s, encoding = T.unsafe(nil)); end
5215
5234
 
5216
5235
  # Unescapes the **path** component of a URI. See Rack::Utils.unescape for
5217
5236
  # unescaping query parameters or form components.
5218
5237
  #
5219
- # source://rack//lib/rack/utils.rb#50
5238
+ # source://rack//lib/rack/utils.rb#51
5220
5239
  def unescape_path(s); end
5221
5240
 
5222
- # source://rack//lib/rack/utils.rb#611
5241
+ # source://rack//lib/rack/utils.rb#627
5223
5242
  def valid_path?(path); end
5224
5243
 
5225
5244
  class << self
5226
- # source://rack//lib/rack/utils.rb#226
5245
+ # source://rack//lib/rack/utils.rb#238
5227
5246
  def add_cookie_to_header(header, key, value); end
5228
5247
 
5229
5248
  # Adds a cookie that will *remove* a cookie from the client. Hence the
5230
5249
  # strange method name.
5231
5250
  #
5232
- # source://rack//lib/rack/utils.rb#309
5251
+ # source://rack//lib/rack/utils.rb#321
5233
5252
  def add_remove_cookie_to_header(header, key, value = T.unsafe(nil)); end
5234
5253
 
5235
5254
  # Return best accept value to use, based on the algorithm
@@ -5237,102 +5256,128 @@ module Rack::Utils
5237
5256
  # matches (same specificity and quality), the value returned
5238
5257
  # is arbitrary.
5239
5258
  #
5240
- # source://rack//lib/rack/utils.rb#148
5259
+ # source://rack//lib/rack/utils.rb#160
5241
5260
  def best_q_match(q_value_header, available_mimes); end
5242
5261
 
5243
- # source://rack//lib/rack/utils.rb#115
5262
+ # source://rack//lib/rack/utils.rb#127
5244
5263
  def build_nested_query(value, prefix = T.unsafe(nil)); end
5245
5264
 
5246
- # source://rack//lib/rack/utils.rb#105
5265
+ # source://rack//lib/rack/utils.rb#117
5247
5266
  def build_query(params); end
5248
5267
 
5249
5268
  # Parses the "Range:" header, if present, into an array of Range objects.
5250
5269
  # Returns nil if the header is missing or syntactically invalid.
5251
5270
  # Returns an empty array if none of the ranges are satisfiable.
5252
5271
  #
5253
- # source://rack//lib/rack/utils.rb#341
5272
+ # source://rack//lib/rack/utils.rb#353
5254
5273
  def byte_ranges(env, size); end
5255
5274
 
5256
- # source://rack//lib/rack/utils.rb#594
5275
+ # source://rack//lib/rack/utils.rb#610
5257
5276
  def clean_path_info(path_info); end
5258
5277
 
5259
- # source://rack//lib/rack/utils.rb#86
5278
+ # source://rack//lib/rack/utils.rb#98
5260
5279
  def clock_time; end
5261
5280
 
5262
5281
  # Returns the value of attribute default_query_parser.
5263
5282
  #
5264
- # source://rack//lib/rack/utils.rb#29
5283
+ # source://rack//lib/rack/utils.rb#30
5265
5284
  def default_query_parser; end
5266
5285
 
5267
5286
  # Sets the attribute default_query_parser
5268
5287
  #
5269
5288
  # @param value the value to set the attribute default_query_parser to.
5270
5289
  #
5271
- # source://rack//lib/rack/utils.rb#29
5290
+ # source://rack//lib/rack/utils.rb#30
5272
5291
  def default_query_parser=(_arg0); end
5273
5292
 
5274
- # source://rack//lib/rack/utils.rb#302
5293
+ # source://rack//lib/rack/utils.rb#314
5275
5294
  def delete_cookie_header!(header, key, value = T.unsafe(nil)); end
5276
5295
 
5277
5296
  # URI escapes. (CGI style space to +)
5278
5297
  #
5279
- # source://rack//lib/rack/utils.rb#38
5298
+ # source://rack//lib/rack/utils.rb#39
5280
5299
  def escape(s); end
5281
5300
 
5282
5301
  # Escape ampersands, brackets and quotes to their HTML/XML entities.
5283
5302
  #
5284
- # source://rack//lib/rack/utils.rb#173
5303
+ # source://rack//lib/rack/utils.rb#185
5285
5304
  def escape_html(string); end
5286
5305
 
5287
5306
  # Like URI escaping, but with %20 instead of +. Strictly speaking this is
5288
5307
  # true URI escaping.
5289
5308
  #
5290
- # source://rack//lib/rack/utils.rb#44
5309
+ # source://rack//lib/rack/utils.rb#45
5291
5310
  def escape_path(s); end
5292
5311
 
5293
- # source://rack//lib/rack/utils.rb#346
5312
+ # source://rack//lib/rack/utils.rb#358
5294
5313
  def get_byte_ranges(http_range, size); end
5295
5314
 
5296
- # source://rack//lib/rack/utils.rb#77
5315
+ # source://rack//lib/rack/utils.rb#89
5297
5316
  def key_space_limit; end
5298
5317
 
5299
- # source://rack//lib/rack/utils.rb#81
5318
+ # source://rack//lib/rack/utils.rb#93
5300
5319
  def key_space_limit=(v); end
5301
5320
 
5302
- # source://rack//lib/rack/utils.rb#272
5321
+ # source://rack//lib/rack/utils.rb#284
5303
5322
  def make_delete_cookie_header(header, key, value); end
5304
5323
 
5305
- # Returns the value of attribute multipart_part_limit.
5324
+ # Returns the value of attribute multipart_file_limit.
5306
5325
  #
5307
- # source://rack//lib/rack/utils.rb#61
5326
+ # source://rack//lib/rack/utils.rb#64
5327
+ def multipart_file_limit; end
5328
+
5329
+ # Sets the attribute multipart_file_limit
5330
+ #
5331
+ # @param value the value to set the attribute multipart_file_limit to.
5332
+ #
5333
+ # source://rack//lib/rack/utils.rb#64
5334
+ def multipart_file_limit=(_arg0); end
5335
+
5336
+ # Returns the value of attribute multipart_file_limit.
5337
+ # multipart_part_limit is the original name of multipart_file_limit, but
5338
+ # the limit only counts parts with filenames.
5339
+ #
5340
+ # source://rack//lib/rack/utils.rb#64
5308
5341
  def multipart_part_limit; end
5309
5342
 
5310
- # Sets the attribute multipart_part_limit
5343
+ # Sets the attribute multipart_file_limit
5311
5344
  #
5312
- # @param value the value to set the attribute multipart_part_limit to.
5345
+ # @param value the value to set the attribute multipart_file_limit to.
5313
5346
  #
5314
- # source://rack//lib/rack/utils.rb#61
5347
+ # source://rack//lib/rack/utils.rb#64
5315
5348
  def multipart_part_limit=(_arg0); end
5316
5349
 
5317
- # source://rack//lib/rack/utils.rb#69
5350
+ # Returns the value of attribute multipart_total_part_limit.
5351
+ #
5352
+ # source://rack//lib/rack/utils.rb#62
5353
+ def multipart_total_part_limit; end
5354
+
5355
+ # Sets the attribute multipart_total_part_limit
5356
+ #
5357
+ # @param value the value to set the attribute multipart_total_part_limit to.
5358
+ #
5359
+ # source://rack//lib/rack/utils.rb#62
5360
+ def multipart_total_part_limit=(_arg0); end
5361
+
5362
+ # source://rack//lib/rack/utils.rb#81
5318
5363
  def param_depth_limit; end
5319
5364
 
5320
- # source://rack//lib/rack/utils.rb#73
5365
+ # source://rack//lib/rack/utils.rb#85
5321
5366
  def param_depth_limit=(v); end
5322
5367
 
5323
- # source://rack//lib/rack/utils.rb#209
5368
+ # source://rack//lib/rack/utils.rb#221
5324
5369
  def parse_cookies(env); end
5325
5370
 
5326
- # source://rack//lib/rack/utils.rb#213
5371
+ # source://rack//lib/rack/utils.rb#225
5327
5372
  def parse_cookies_header(header); end
5328
5373
 
5329
- # source://rack//lib/rack/utils.rb#101
5374
+ # source://rack//lib/rack/utils.rb#113
5330
5375
  def parse_nested_query(qs, d = T.unsafe(nil)); end
5331
5376
 
5332
- # source://rack//lib/rack/utils.rb#97
5377
+ # source://rack//lib/rack/utils.rb#109
5333
5378
  def parse_query(qs, d = T.unsafe(nil), &unescaper); end
5334
5379
 
5335
- # source://rack//lib/rack/utils.rb#133
5380
+ # source://rack//lib/rack/utils.rb#145
5336
5381
  def q_values(q_value_header); end
5337
5382
 
5338
5383
  # Modified version of stdlib time.rb Time#rfc2822 to use '%d-%b-%Y' instead
@@ -5344,10 +5389,10 @@ module Rack::Utils
5344
5389
  # Do not use %a and %b from Time.strptime, it would use localized names for
5345
5390
  # weekday and month.
5346
5391
  #
5347
- # source://rack//lib/rack/utils.rb#332
5392
+ # source://rack//lib/rack/utils.rb#344
5348
5393
  def rfc2109(time); end
5349
5394
 
5350
- # source://rack//lib/rack/utils.rb#319
5395
+ # source://rack//lib/rack/utils.rb#331
5351
5396
  def rfc2822(time); end
5352
5397
 
5353
5398
  # Constant time string comparison.
@@ -5357,33 +5402,33 @@ module Rack::Utils
5357
5402
  # on variable length plaintext strings because it could leak length info
5358
5403
  # via timing attacks.
5359
5404
  #
5360
- # source://rack//lib/rack/utils.rb#380
5405
+ # source://rack//lib/rack/utils.rb#396
5361
5406
  def secure_compare(a, b); end
5362
5407
 
5363
- # source://rack//lib/rack/utils.rb#177
5408
+ # source://rack//lib/rack/utils.rb#189
5364
5409
  def select_best_encoding(available_encodings, accept_encoding); end
5365
5410
 
5366
- # source://rack//lib/rack/utils.rb#267
5411
+ # source://rack//lib/rack/utils.rb#279
5367
5412
  def set_cookie_header!(header, key, value); end
5368
5413
 
5369
- # source://rack//lib/rack/utils.rb#584
5414
+ # source://rack//lib/rack/utils.rb#600
5370
5415
  def status_code(status); end
5371
5416
 
5372
5417
  # Unescapes a URI escaped string with +encoding+. +encoding+ will be the
5373
5418
  # target encoding of the string returned, and it defaults to UTF-8
5374
5419
  #
5375
- # source://rack//lib/rack/utils.rb#56
5420
+ # source://rack//lib/rack/utils.rb#57
5376
5421
  def unescape(s, encoding = T.unsafe(nil)); end
5377
5422
 
5378
5423
  # Unescapes the **path** component of a URI. See Rack::Utils.unescape for
5379
5424
  # unescaping query parameters or form components.
5380
5425
  #
5381
- # source://rack//lib/rack/utils.rb#50
5426
+ # source://rack//lib/rack/utils.rb#51
5382
5427
  def unescape_path(s); end
5383
5428
 
5384
5429
  # @return [Boolean]
5385
5430
  #
5386
- # source://rack//lib/rack/utils.rb#611
5431
+ # source://rack//lib/rack/utils.rb#627
5387
5432
  def valid_path?(path); end
5388
5433
  end
5389
5434
  end
@@ -5397,40 +5442,40 @@ Rack::Utils::COMMON_SEP = T.let(T.unsafe(nil), Hash)
5397
5442
  # would be the request environment. The second of which would be the rack
5398
5443
  # application that the request would be forwarded to.
5399
5444
  #
5400
- # source://rack//lib/rack/utils.rb#395
5445
+ # source://rack//lib/rack/utils.rb#411
5401
5446
  class Rack::Utils::Context
5402
5447
  # @return [Context] a new instance of Context
5403
5448
  #
5404
- # source://rack//lib/rack/utils.rb#398
5449
+ # source://rack//lib/rack/utils.rb#414
5405
5450
  def initialize(app_f, app_r); end
5406
5451
 
5407
5452
  # Returns the value of attribute app.
5408
5453
  #
5409
- # source://rack//lib/rack/utils.rb#396
5454
+ # source://rack//lib/rack/utils.rb#412
5410
5455
  def app; end
5411
5456
 
5412
- # source://rack//lib/rack/utils.rb#403
5457
+ # source://rack//lib/rack/utils.rb#419
5413
5458
  def call(env); end
5414
5459
 
5415
- # source://rack//lib/rack/utils.rb#411
5460
+ # source://rack//lib/rack/utils.rb#427
5416
5461
  def context(env, app = T.unsafe(nil)); end
5417
5462
 
5418
5463
  # Returns the value of attribute for.
5419
5464
  #
5420
- # source://rack//lib/rack/utils.rb#396
5465
+ # source://rack//lib/rack/utils.rb#412
5421
5466
  def for; end
5422
5467
 
5423
- # source://rack//lib/rack/utils.rb#407
5468
+ # source://rack//lib/rack/utils.rb#423
5424
5469
  def recontext(app); end
5425
5470
  end
5426
5471
 
5427
5472
  # source://rack//lib/rack/utils.rb#21
5428
5473
  Rack::Utils::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp)
5429
5474
 
5430
- # source://rack//lib/rack/utils.rb#161
5475
+ # source://rack//lib/rack/utils.rb#173
5431
5476
  Rack::Utils::ESCAPE_HTML = T.let(T.unsafe(nil), Hash)
5432
5477
 
5433
- # source://rack//lib/rack/utils.rb#170
5478
+ # source://rack//lib/rack/utils.rb#182
5434
5479
  Rack::Utils::ESCAPE_HTML_PATTERN = T.let(T.unsafe(nil), Regexp)
5435
5480
 
5436
5481
  # Every standard HTTP code mapped to the appropriate message.
@@ -5439,7 +5484,7 @@ Rack::Utils::ESCAPE_HTML_PATTERN = T.let(T.unsafe(nil), Regexp)
5439
5484
  # ruby -ne 'm = /^(\d{3}),(?!Unassigned|\(Unused\))([^,]+)/.match($_) and \
5440
5485
  # puts "#{m[1]} => \x27#{m[2].strip}\x27,"'
5441
5486
  #
5442
- # source://rack//lib/rack/utils.rb#511
5487
+ # source://rack//lib/rack/utils.rb#527
5443
5488
  Rack::Utils::HTTP_STATUS_CODES = T.let(T.unsafe(nil), Hash)
5444
5489
 
5445
5490
  # A case-insensitive Hash that preserves the original case of a
@@ -5447,90 +5492,90 @@ Rack::Utils::HTTP_STATUS_CODES = T.let(T.unsafe(nil), Hash)
5447
5492
  #
5448
5493
  # @api private
5449
5494
  #
5450
- # source://rack//lib/rack/utils.rb#420
5495
+ # source://rack//lib/rack/utils.rb#436
5451
5496
  class Rack::Utils::HeaderHash < ::Hash
5452
5497
  # @api private
5453
5498
  # @return [HeaderHash] a new instance of HeaderHash
5454
5499
  #
5455
- # source://rack//lib/rack/utils.rb#429
5500
+ # source://rack//lib/rack/utils.rb#445
5456
5501
  def initialize(hash = T.unsafe(nil)); end
5457
5502
 
5458
5503
  # @api private
5459
5504
  #
5460
- # source://rack//lib/rack/utils.rb#459
5505
+ # source://rack//lib/rack/utils.rb#475
5461
5506
  def [](k); end
5462
5507
 
5463
5508
  # @api private
5464
5509
  #
5465
- # source://rack//lib/rack/utils.rb#463
5510
+ # source://rack//lib/rack/utils.rb#479
5466
5511
  def []=(k, v); end
5467
5512
 
5468
5513
  # on clear, we need to clear @names hash
5469
5514
  #
5470
5515
  # @api private
5471
5516
  #
5472
- # source://rack//lib/rack/utils.rb#442
5517
+ # source://rack//lib/rack/utils.rb#458
5473
5518
  def clear; end
5474
5519
 
5475
5520
  # @api private
5476
5521
  #
5477
- # source://rack//lib/rack/utils.rb#470
5522
+ # source://rack//lib/rack/utils.rb#486
5478
5523
  def delete(k); end
5479
5524
 
5480
5525
  # @api private
5481
5526
  #
5482
- # source://rack//lib/rack/utils.rb#447
5527
+ # source://rack//lib/rack/utils.rb#463
5483
5528
  def each; end
5484
5529
 
5485
5530
  # @api private
5486
5531
  # @return [Boolean]
5487
5532
  #
5488
- # source://rack//lib/rack/utils.rb#476
5533
+ # source://rack//lib/rack/utils.rb#492
5489
5534
  def has_key?(k); end
5490
5535
 
5491
5536
  # @api private
5492
5537
  # @return [Boolean]
5493
5538
  #
5494
- # source://rack//lib/rack/utils.rb#476
5539
+ # source://rack//lib/rack/utils.rb#492
5495
5540
  def include?(k); end
5496
5541
 
5497
5542
  # @api private
5498
5543
  # @return [Boolean]
5499
5544
  #
5500
- # source://rack//lib/rack/utils.rb#476
5545
+ # source://rack//lib/rack/utils.rb#492
5501
5546
  def key?(k); end
5502
5547
 
5503
5548
  # @api private
5504
5549
  # @return [Boolean]
5505
5550
  #
5506
- # source://rack//lib/rack/utils.rb#476
5551
+ # source://rack//lib/rack/utils.rb#492
5507
5552
  def member?(k); end
5508
5553
 
5509
5554
  # @api private
5510
5555
  #
5511
- # source://rack//lib/rack/utils.rb#489
5556
+ # source://rack//lib/rack/utils.rb#505
5512
5557
  def merge(other); end
5513
5558
 
5514
5559
  # @api private
5515
5560
  #
5516
- # source://rack//lib/rack/utils.rb#484
5561
+ # source://rack//lib/rack/utils.rb#500
5517
5562
  def merge!(other); end
5518
5563
 
5519
5564
  # @api private
5520
5565
  #
5521
- # source://rack//lib/rack/utils.rb#494
5566
+ # source://rack//lib/rack/utils.rb#510
5522
5567
  def replace(other); end
5523
5568
 
5524
5569
  # @api private
5525
5570
  #
5526
- # source://rack//lib/rack/utils.rb#453
5571
+ # source://rack//lib/rack/utils.rb#469
5527
5572
  def to_hash; end
5528
5573
 
5529
5574
  protected
5530
5575
 
5531
5576
  # @api private
5532
5577
  #
5533
- # source://rack//lib/rack/utils.rb#501
5578
+ # source://rack//lib/rack/utils.rb#517
5534
5579
  def names; end
5535
5580
 
5536
5581
  private
@@ -5539,13 +5584,13 @@ class Rack::Utils::HeaderHash < ::Hash
5539
5584
  #
5540
5585
  # @api private
5541
5586
  #
5542
- # source://rack//lib/rack/utils.rb#436
5587
+ # source://rack//lib/rack/utils.rb#452
5543
5588
  def initialize_copy(other); end
5544
5589
 
5545
5590
  class << self
5546
5591
  # @api private
5547
5592
  #
5548
- # source://rack//lib/rack/utils.rb#421
5593
+ # source://rack//lib/rack/utils.rb#437
5549
5594
  def [](headers); end
5550
5595
  end
5551
5596
  end
@@ -5556,15 +5601,18 @@ Rack::Utils::InvalidParameterError = Rack::QueryParser::InvalidParameterError
5556
5601
  # source://rack//lib/rack/utils.rb#23
5557
5602
  Rack::Utils::KeySpaceConstrainedParams = Rack::QueryParser::Params
5558
5603
 
5559
- # source://rack//lib/rack/utils.rb#609
5604
+ # source://rack//lib/rack/utils.rb#625
5560
5605
  Rack::Utils::NULL_BYTE = T.let(T.unsafe(nil), String)
5561
5606
 
5562
- # source://rack//lib/rack/utils.rb#592
5607
+ # source://rack//lib/rack/utils.rb#608
5563
5608
  Rack::Utils::PATH_SEPS = T.let(T.unsafe(nil), Regexp)
5564
5609
 
5565
5610
  # source://rack//lib/rack/utils.rb#19
5566
5611
  Rack::Utils::ParameterTypeError = Rack::QueryParser::ParameterTypeError
5567
5612
 
5613
+ # source://rack//lib/rack/utils.rb#27
5614
+ Rack::Utils::RFC2396_PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)
5615
+
5568
5616
  # source://rack//lib/rack/utils.rb#25
5569
5617
  Rack::Utils::RFC2822_DAY_NAME = T.let(T.unsafe(nil), Array)
5570
5618
 
@@ -5573,10 +5621,10 @@ Rack::Utils::RFC2822_MONTH_NAME = T.let(T.unsafe(nil), Array)
5573
5621
 
5574
5622
  # Responses with HTTP status codes that should not have an entity body
5575
5623
  #
5576
- # source://rack//lib/rack/utils.rb#578
5624
+ # source://rack//lib/rack/utils.rb#594
5577
5625
  Rack::Utils::STATUS_WITH_NO_ENTITY_BODY = T.let(T.unsafe(nil), Hash)
5578
5626
 
5579
- # source://rack//lib/rack/utils.rb#580
5627
+ # source://rack//lib/rack/utils.rb#596
5580
5628
  Rack::Utils::SYMBOL_TO_STATUS_CODE = T.let(T.unsafe(nil), Hash)
5581
5629
 
5582
5630
  # The Rack protocol version number implemented.