packwerk 2.2.0 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +29 -20
  3. data/.github/workflows/cla.yml +22 -0
  4. data/.rubocop.yml +48 -19
  5. data/Gemfile +7 -2
  6. data/Gemfile.lock +202 -175
  7. data/README.md +1 -1
  8. data/RESOLVING_VIOLATIONS.md +81 -0
  9. data/Rakefile +1 -1
  10. data/USAGE.md +14 -5
  11. data/bin/m +1 -1
  12. data/bin/rake +1 -1
  13. data/bin/rubocop +1 -1
  14. data/bin/srb +1 -1
  15. data/bin/tapioca +1 -1
  16. data/gemfiles/Gemfile-rails-6-0 +1 -1
  17. data/gemfiles/Gemfile-rails-6-1 +22 -0
  18. data/lib/packwerk/application_load_paths.rb +1 -1
  19. data/lib/packwerk/application_validator.rb +7 -6
  20. data/lib/packwerk/association_inspector.rb +17 -15
  21. data/lib/packwerk/cache.rb +36 -29
  22. data/lib/packwerk/cli.rb +24 -20
  23. data/lib/packwerk/const_node_inspector.rb +8 -7
  24. data/lib/packwerk/constant_name_inspector.rb +2 -2
  25. data/lib/packwerk/deprecated_references.rb +40 -20
  26. data/lib/packwerk/file_processor.rb +14 -14
  27. data/lib/packwerk/files_for_processing.rb +27 -31
  28. data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
  29. data/lib/packwerk/formatters/progress_formatter.rb +2 -2
  30. data/lib/packwerk/node.rb +1 -294
  31. data/lib/packwerk/node_helpers.rb +335 -0
  32. data/lib/packwerk/node_processor.rb +6 -5
  33. data/lib/packwerk/node_processor_factory.rb +3 -3
  34. data/lib/packwerk/node_visitor.rb +1 -1
  35. data/lib/packwerk/offense_collection.rb +27 -8
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +2 -0
  39. data/lib/packwerk/parse_run.rb +29 -20
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  43. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  44. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  45. data/lib/packwerk/reference_checking/reference_checker.rb +3 -1
  46. data/lib/packwerk/reference_extractor.rb +51 -48
  47. data/lib/packwerk/reference_offense.rb +3 -27
  48. data/lib/packwerk/run_context.rb +9 -8
  49. data/lib/packwerk/spring_command.rb +1 -1
  50. data/lib/packwerk/version.rb +1 -1
  51. data/lib/packwerk.rb +1 -0
  52. data/packwerk.gemspec +5 -12
  53. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  54. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  55. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  56. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  57. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  58. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  59. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  60. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  61. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  62. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  63. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  64. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  65. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  66. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  67. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  68. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  69. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  70. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  71. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  72. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  73. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  74. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  75. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  76. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  77. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  78. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  79. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  80. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  81. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  82. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  83. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  84. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  85. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  86. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  87. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  88. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  89. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  90. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  91. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  92. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  93. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  94. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  95. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  96. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  97. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  98. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  99. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  100. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  101. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  102. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  103. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  104. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  105. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  106. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  107. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  108. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  109. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  110. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  111. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  112. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  113. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  114. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  115. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  116. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  117. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  118. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  119. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  120. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  121. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  122. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  123. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  124. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  125. data/sorbet/rbi/shims/psych.rbi +5 -0
  126. data/sorbet/tapioca/require.rb +2 -3
  127. metadata +91 -146
  128. data/.github/probots.yml +0 -2
  129. data/library.yml +0 -6
  130. data/service.yml +0 -1
  131. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  132. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  133. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  134. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  135. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  136. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  137. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  138. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  139. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  140. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  141. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  142. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  143. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  144. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  145. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  146. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  147. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  148. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  149. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  150. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  151. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  152. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  153. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  154. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  155. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  156. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  157. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  158. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  159. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  160. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  161. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  162. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  163. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  164. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  165. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  166. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  167. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  168. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  169. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  170. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  171. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  172. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  173. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  174. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  178. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  179. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  180. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  181. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  182. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  183. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  184. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  185. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  186. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  187. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  188. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -1,1718 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `rack` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- module Rack
8
- class << self
9
- def release; end
10
- def version; end
11
- end
12
- end
13
-
14
- module Rack::Auth
15
- end
16
-
17
- class Rack::Auth::AbstractHandler
18
- def initialize(app, realm = T.unsafe(nil), &authenticator); end
19
-
20
- def realm; end
21
- def realm=(_arg0); end
22
-
23
- private
24
-
25
- def bad_request; end
26
- def unauthorized(www_authenticate = T.unsafe(nil)); end
27
- end
28
-
29
- class Rack::Auth::AbstractRequest
30
- def initialize(env); end
31
-
32
- def params; end
33
- def parts; end
34
- def provided?; end
35
- def request; end
36
- def scheme; end
37
- def valid?; end
38
-
39
- private
40
-
41
- def authorization_key; end
42
- end
43
-
44
- Rack::Auth::AbstractRequest::AUTHORIZATION_KEYS = T.let(T.unsafe(nil), Array)
45
-
46
- class Rack::Auth::Basic < ::Rack::Auth::AbstractHandler
47
- def call(env); end
48
-
49
- private
50
-
51
- def challenge; end
52
- def valid?(auth); end
53
- end
54
-
55
- class Rack::Auth::Basic::Request < ::Rack::Auth::AbstractRequest
56
- def basic?; end
57
- def credentials; end
58
- def username; end
59
- end
60
-
61
- module Rack::Auth::Digest
62
- end
63
-
64
- class Rack::Auth::Digest::MD5 < ::Rack::Auth::AbstractHandler
65
- def initialize(app, realm = T.unsafe(nil), opaque = T.unsafe(nil), &authenticator); end
66
-
67
- def call(env); end
68
- def opaque; end
69
- def opaque=(_arg0); end
70
- def passwords_hashed=(_arg0); end
71
- def passwords_hashed?; end
72
-
73
- private
74
-
75
- def A1(auth, password); end
76
- def A2(auth); end
77
- def H(data); end
78
- def KD(secret, data); end
79
- def challenge(hash = T.unsafe(nil)); end
80
- def digest(auth, password); end
81
- def md5(data); end
82
- def params(hash = T.unsafe(nil)); end
83
- def valid?(auth); end
84
- def valid_digest?(auth); end
85
- def valid_nonce?(auth); end
86
- def valid_opaque?(auth); end
87
- def valid_qop?(auth); end
88
- end
89
-
90
- Rack::Auth::Digest::MD5::QOP = T.let(T.unsafe(nil), String)
91
-
92
- class Rack::Auth::Digest::Nonce
93
- def initialize(timestamp = T.unsafe(nil), given_digest = T.unsafe(nil)); end
94
-
95
- def digest; end
96
- def fresh?; end
97
- def stale?; end
98
- def to_s; end
99
- def valid?; end
100
-
101
- class << self
102
- def parse(string); end
103
- def private_key; end
104
- def private_key=(_arg0); end
105
- def time_limit; end
106
- def time_limit=(_arg0); end
107
- end
108
- end
109
-
110
- class Rack::Auth::Digest::Params < ::Hash
111
- def initialize; end
112
-
113
- def [](k); end
114
- def []=(k, v); end
115
- def quote(str); end
116
- def to_s; end
117
-
118
- class << self
119
- def dequote(str); end
120
- def parse(str); end
121
- def split_header_value(str); end
122
- end
123
- end
124
-
125
- Rack::Auth::Digest::Params::UNQUOTED = T.let(T.unsafe(nil), Array)
126
-
127
- class Rack::Auth::Digest::Request < ::Rack::Auth::AbstractRequest
128
- def correct_uri?; end
129
- def digest?; end
130
- def method; end
131
- def method_missing(sym, *args); end
132
- def nonce; end
133
- def params; end
134
- def respond_to?(sym, *_arg1); end
135
- end
136
-
137
- class Rack::BodyProxy
138
- def initialize(body, &block); end
139
-
140
- def close; end
141
- def closed?; end
142
- def method_missing(method_name, *args, &block); end
143
-
144
- private
145
-
146
- def respond_to_missing?(method_name, include_all = T.unsafe(nil)); end
147
- end
148
-
149
- class Rack::Builder
150
- def initialize(default_app = T.unsafe(nil), &block); end
151
-
152
- def call(env); end
153
- def freeze_app; end
154
- def map(path, &block); end
155
- def run(app); end
156
- def to_app; end
157
- def use(middleware, *args, &block); end
158
- def warmup(prc = T.unsafe(nil), &block); end
159
-
160
- private
161
-
162
- def generate_map(default_app, mapping); end
163
-
164
- class << self
165
- def app(default_app = T.unsafe(nil), &block); end
166
- def load_file(path, opts = T.unsafe(nil)); end
167
- def new_from_string(builder_script, file = T.unsafe(nil)); end
168
- def parse_file(config, opts = T.unsafe(nil)); end
169
- end
170
- end
171
-
172
- Rack::Builder::UTF_8_BOM = T.let(T.unsafe(nil), String)
173
-
174
- Rack::CACHE_CONTROL = T.let(T.unsafe(nil), String)
175
-
176
- Rack::CONTENT_LENGTH = T.let(T.unsafe(nil), String)
177
-
178
- Rack::CONTENT_TYPE = T.let(T.unsafe(nil), String)
179
-
180
- class Rack::Cascade
181
- def initialize(apps, cascade_for = T.unsafe(nil)); end
182
-
183
- def <<(app); end
184
- def add(app); end
185
- def apps; end
186
- def call(env); end
187
- def include?(app); end
188
- end
189
-
190
- Rack::Cascade::NotFound = T.let(T.unsafe(nil), Array)
191
-
192
- class Rack::Chunked
193
- include(::Rack::Utils)
194
-
195
- def initialize(app); end
196
-
197
- def call(env); end
198
- def chunkable_version?(ver); end
199
- end
200
-
201
- class Rack::Chunked::Body
202
- def initialize(body); end
203
-
204
- def close; end
205
- def each(&block); end
206
-
207
- private
208
-
209
- def yield_trailers; end
210
- end
211
-
212
- Rack::Chunked::Body::TAIL = T.let(T.unsafe(nil), String)
213
-
214
- Rack::Chunked::Body::TERM = T.let(T.unsafe(nil), String)
215
-
216
- class Rack::Chunked::TrailerBody < ::Rack::Chunked::Body
217
-
218
- private
219
-
220
- def yield_trailers; end
221
- end
222
-
223
- class Rack::CommonLogger
224
- def initialize(app, logger = T.unsafe(nil)); end
225
-
226
- def call(env); end
227
-
228
- private
229
-
230
- def extract_content_length(headers); end
231
- def log(env, status, header, began_at); end
232
- end
233
-
234
- Rack::CommonLogger::FORMAT = T.let(T.unsafe(nil), String)
235
-
236
- class Rack::ConditionalGet
237
- def initialize(app); end
238
-
239
- def call(env); end
240
-
241
- private
242
-
243
- def etag_matches?(none_match, headers); end
244
- def fresh?(env, headers); end
245
- def modified_since?(modified_since, headers); end
246
- def to_rfc2822(since); end
247
- end
248
-
249
- class Rack::Config
250
- def initialize(app, &block); end
251
-
252
- def call(env); end
253
- end
254
-
255
- class Rack::ContentLength
256
- include(::Rack::Utils)
257
-
258
- def initialize(app); end
259
-
260
- def call(env); end
261
- end
262
-
263
- class Rack::ContentType
264
- include(::Rack::Utils)
265
-
266
- def initialize(app, content_type = T.unsafe(nil)); end
267
-
268
- def call(env); end
269
- end
270
-
271
- Rack::DELETE = T.let(T.unsafe(nil), String)
272
-
273
- class Rack::Deflater
274
- def initialize(app, options = T.unsafe(nil)); end
275
-
276
- def call(env); end
277
-
278
- private
279
-
280
- def should_deflate?(env, status, headers, body); end
281
- end
282
-
283
- class Rack::Deflater::GzipStream
284
- def initialize(body, mtime, sync); end
285
-
286
- def close; end
287
- def each(&block); end
288
- def write(data); end
289
- end
290
-
291
- class Rack::Directory
292
- def initialize(root, app = T.unsafe(nil)); end
293
-
294
- def call(env); end
295
- def check_bad_request(path_info); end
296
- def check_forbidden(path_info); end
297
- def entity_not_found(path_info); end
298
- def filesize_format(int); end
299
- def get(env); end
300
- def list_directory(path_info, path, script_name); end
301
- def list_path(env, path, path_info, script_name); end
302
- def root; end
303
- def stat(path); end
304
- end
305
-
306
- Rack::Directory::DIR_FILE = T.let(T.unsafe(nil), String)
307
-
308
- Rack::Directory::DIR_PAGE_FOOTER = T.let(T.unsafe(nil), String)
309
-
310
- Rack::Directory::DIR_PAGE_HEADER = T.let(T.unsafe(nil), String)
311
-
312
- class Rack::Directory::DirectoryBody < ::Struct
313
- def each; end
314
-
315
- private
316
-
317
- def DIR_FILE_escape(htmls); end
318
- end
319
-
320
- Rack::Directory::FILESIZE_FORMAT = T.let(T.unsafe(nil), Array)
321
-
322
- Rack::ETAG = T.let(T.unsafe(nil), String)
323
-
324
- class Rack::ETag
325
- def initialize(app, no_cache_control = T.unsafe(nil), cache_control = T.unsafe(nil)); end
326
-
327
- def call(env); end
328
-
329
- private
330
-
331
- def digest_body(body); end
332
- def etag_body?(body); end
333
- def etag_status?(status); end
334
- def skip_caching?(headers); end
335
- end
336
-
337
- Rack::ETag::DEFAULT_CACHE_CONTROL = T.let(T.unsafe(nil), String)
338
-
339
- Rack::ETag::ETAG_STRING = T.let(T.unsafe(nil), String)
340
-
341
- Rack::EXPIRES = T.let(T.unsafe(nil), String)
342
-
343
- class Rack::Events
344
- def initialize(app, handlers); end
345
-
346
- def call(env); end
347
-
348
- private
349
-
350
- def make_request(env); end
351
- def make_response(status, headers, body); end
352
- def on_commit(request, response); end
353
- def on_error(request, response, e); end
354
- def on_finish(request, response); end
355
- def on_start(request, response); end
356
- end
357
-
358
- module Rack::Events::Abstract
359
- def on_commit(req, res); end
360
- def on_error(req, res, e); end
361
- def on_finish(req, res); end
362
- def on_send(req, res); end
363
- def on_start(req, res); end
364
- end
365
-
366
- class Rack::Events::BufferedResponse < ::Rack::Response::Raw
367
- def initialize(status, headers, body); end
368
-
369
- def body; end
370
- def to_a; end
371
- end
372
-
373
- class Rack::Events::EventedBodyProxy < ::Rack::BodyProxy
374
- def initialize(body, request, response, handlers, &block); end
375
-
376
- def each; end
377
- def request; end
378
- def response; end
379
- end
380
-
381
- Rack::File = Rack::Files
382
-
383
- class Rack::Files
384
- def initialize(root, headers = T.unsafe(nil), default_mime = T.unsafe(nil)); end
385
-
386
- def call(env); end
387
- def get(env); end
388
- def root; end
389
- def serving(request, path); end
390
-
391
- private
392
-
393
- def fail(status, body, headers = T.unsafe(nil)); end
394
- def filesize(path); end
395
- def mime_type(path, default_mime); end
396
-
397
- class << self
398
- def method_added(name); end
399
- end
400
- end
401
-
402
- Rack::Files::ALLOWED_VERBS = T.let(T.unsafe(nil), Array)
403
-
404
- Rack::Files::ALLOW_HEADER = T.let(T.unsafe(nil), String)
405
-
406
- class Rack::Files::BaseIterator
407
- def initialize(path, ranges, options); end
408
-
409
- def bytesize; end
410
- def close; end
411
- def each; end
412
- def options; end
413
- def path; end
414
- def ranges; end
415
-
416
- private
417
-
418
- def each_range_part(file, range); end
419
- def multipart?; end
420
- def multipart_heading(range); end
421
- end
422
-
423
- class Rack::Files::Iterator < ::Rack::Files::BaseIterator
424
- def to_path; end
425
- end
426
-
427
- Rack::Files::MULTIPART_BOUNDARY = T.let(T.unsafe(nil), String)
428
-
429
- class Rack::ForwardRequest < ::Exception
430
- def initialize(url, env = T.unsafe(nil)); end
431
-
432
- def env; end
433
- def url; end
434
- end
435
-
436
- Rack::GET = T.let(T.unsafe(nil), String)
437
-
438
- Rack::HEAD = T.let(T.unsafe(nil), String)
439
-
440
- Rack::HTTPS = T.let(T.unsafe(nil), String)
441
-
442
- Rack::HTTP_COOKIE = T.let(T.unsafe(nil), String)
443
-
444
- Rack::HTTP_HOST = T.let(T.unsafe(nil), String)
445
-
446
- Rack::HTTP_PORT = T.let(T.unsafe(nil), String)
447
-
448
- Rack::HTTP_VERSION = T.let(T.unsafe(nil), String)
449
-
450
- module Rack::Handler
451
- class << self
452
- def default; end
453
- def get(server); end
454
- def pick(server_names); end
455
- def register(server, klass); end
456
- def try_require(prefix, const_name); end
457
- end
458
- end
459
-
460
- class Rack::Handler::CGI
461
- class << self
462
- def run(app, **options); end
463
- def send_body(body); end
464
- def send_headers(status, headers); end
465
- def serve(app); end
466
- end
467
- end
468
-
469
- class Rack::Head
470
- def initialize(app); end
471
-
472
- def call(env); end
473
- end
474
-
475
- Rack::LINK = T.let(T.unsafe(nil), String)
476
-
477
- class Rack::Lint
478
- include(::Rack::Lint::Assertion)
479
-
480
- def initialize(app); end
481
-
482
- def _call(env); end
483
- def call(env = T.unsafe(nil)); end
484
- def check_content_length(status, headers); end
485
- def check_content_type(status, headers); end
486
- def check_env(env); end
487
- def check_error(error); end
488
- def check_headers(header); end
489
- def check_hijack(env); end
490
- def check_hijack_response(headers, env); end
491
- def check_input(input); end
492
- def check_status(status); end
493
- def close; end
494
- def each; end
495
- def verify_content_length(bytes); end
496
- end
497
-
498
- module Rack::Lint::Assertion
499
- def assert(message); end
500
- end
501
-
502
- class Rack::Lint::ErrorWrapper
503
- include(::Rack::Lint::Assertion)
504
-
505
- def initialize(error); end
506
-
507
- def close(*args); end
508
- def flush; end
509
- def puts(str); end
510
- def write(str); end
511
- end
512
-
513
- class Rack::Lint::HijackWrapper
514
- include(::Rack::Lint::Assertion)
515
- extend(::Forwardable)
516
-
517
- def initialize(io); end
518
-
519
- def close(*args, &block); end
520
- def close_read(*args, &block); end
521
- def close_write(*args, &block); end
522
- def closed?(*args, &block); end
523
- def flush(*args, &block); end
524
- def read(*args, &block); end
525
- def read_nonblock(*args, &block); end
526
- def write(*args, &block); end
527
- def write_nonblock(*args, &block); end
528
- end
529
-
530
- Rack::Lint::HijackWrapper::REQUIRED_METHODS = T.let(T.unsafe(nil), Array)
531
-
532
- class Rack::Lint::InputWrapper
533
- include(::Rack::Lint::Assertion)
534
-
535
- def initialize(input); end
536
-
537
- def close(*args); end
538
- def each(*args); end
539
- def gets(*args); end
540
- def read(*args); end
541
- def rewind(*args); end
542
- end
543
-
544
- class Rack::Lint::LintError < ::RuntimeError
545
- end
546
-
547
- class Rack::Lock
548
- def initialize(app, mutex = T.unsafe(nil)); end
549
-
550
- def call(env); end
551
-
552
- private
553
-
554
- def unlock; end
555
- end
556
-
557
- class Rack::Logger
558
- def initialize(app, level = T.unsafe(nil)); end
559
-
560
- def call(env); end
561
- end
562
-
563
- class Rack::MediaType
564
- class << self
565
- def params(content_type); end
566
- def type(content_type); end
567
-
568
- private
569
-
570
- def strip_doublequotes(str); end
571
- end
572
- end
573
-
574
- Rack::MediaType::SPLIT_PATTERN = T.let(T.unsafe(nil), Regexp)
575
-
576
- class Rack::MethodOverride
577
- def initialize(app); end
578
-
579
- def call(env); end
580
- def method_override(env); end
581
-
582
- private
583
-
584
- def allowed_methods; end
585
- def method_override_param(req); end
586
- end
587
-
588
- Rack::MethodOverride::ALLOWED_METHODS = T.let(T.unsafe(nil), Array)
589
-
590
- Rack::MethodOverride::HTTP_METHODS = T.let(T.unsafe(nil), Array)
591
-
592
- Rack::MethodOverride::HTTP_METHOD_OVERRIDE_HEADER = T.let(T.unsafe(nil), String)
593
-
594
- Rack::MethodOverride::METHOD_OVERRIDE_PARAM_KEY = T.let(T.unsafe(nil), String)
595
-
596
- module Rack::Mime
597
-
598
- private
599
-
600
- def match?(value, matcher); end
601
- def mime_type(ext, fallback = T.unsafe(nil)); end
602
-
603
- class << self
604
- def match?(value, matcher); end
605
- def mime_type(ext, fallback = T.unsafe(nil)); end
606
- end
607
- end
608
-
609
- Rack::Mime::MIME_TYPES = T.let(T.unsafe(nil), Hash)
610
-
611
- class Rack::MockRequest
612
- def initialize(app); end
613
-
614
- def delete(uri, opts = T.unsafe(nil)); end
615
- def get(uri, opts = T.unsafe(nil)); end
616
- def head(uri, opts = T.unsafe(nil)); end
617
- def options(uri, opts = T.unsafe(nil)); end
618
- def patch(uri, opts = T.unsafe(nil)); end
619
- def post(uri, opts = T.unsafe(nil)); end
620
- def put(uri, opts = T.unsafe(nil)); end
621
- def request(method = T.unsafe(nil), uri = T.unsafe(nil), opts = T.unsafe(nil)); end
622
-
623
- class << self
624
- def env_for(uri = T.unsafe(nil), opts = T.unsafe(nil)); end
625
- def parse_uri_rfc2396(uri); end
626
- end
627
- end
628
-
629
- Rack::MockRequest::DEFAULT_ENV = T.let(T.unsafe(nil), Hash)
630
-
631
- class Rack::MockRequest::FatalWarner
632
- def flush; end
633
- def puts(warning); end
634
- def string; end
635
- def write(warning); end
636
- end
637
-
638
- class Rack::MockRequest::FatalWarning < ::RuntimeError
639
- end
640
-
641
- class Rack::MockResponse < ::Rack::Response
642
- def initialize(status, headers, body, errors = T.unsafe(nil)); end
643
-
644
- def =~(other); end
645
- def body; end
646
- def cookie(name); end
647
- def cookies; end
648
- def empty?; end
649
- def errors; end
650
- def errors=(_arg0); end
651
- def match(other); end
652
- def original_headers; end
653
-
654
- private
655
-
656
- def identify_cookie_attributes(cookie_filling); end
657
- def parse_cookies_from_header; end
658
-
659
- class << self
660
- def [](*_arg0); end
661
- end
662
- end
663
-
664
- module Rack::Multipart
665
- class << self
666
- def build_multipart(params, first = T.unsafe(nil)); end
667
- def extract_multipart(req, params = T.unsafe(nil)); end
668
- def parse_multipart(env, params = T.unsafe(nil)); end
669
- end
670
- end
671
-
672
- Rack::Multipart::ATTRIBUTE = T.let(T.unsafe(nil), Regexp)
673
-
674
- Rack::Multipart::ATTRIBUTE_CHAR = T.let(T.unsafe(nil), Regexp)
675
-
676
- Rack::Multipart::BROKEN_QUOTED = T.let(T.unsafe(nil), Regexp)
677
-
678
- Rack::Multipart::BROKEN_UNQUOTED = T.let(T.unsafe(nil), Regexp)
679
-
680
- Rack::Multipart::CONDISP = T.let(T.unsafe(nil), Regexp)
681
-
682
- Rack::Multipart::DISPPARM = T.let(T.unsafe(nil), Regexp)
683
-
684
- Rack::Multipart::EOL = T.let(T.unsafe(nil), String)
685
-
686
- Rack::Multipart::EXTENDED_INITIAL_NAME = T.let(T.unsafe(nil), Regexp)
687
-
688
- Rack::Multipart::EXTENDED_INITIAL_PARAMETER = T.let(T.unsafe(nil), Regexp)
689
-
690
- Rack::Multipart::EXTENDED_INITIAL_VALUE = T.let(T.unsafe(nil), Regexp)
691
-
692
- Rack::Multipart::EXTENDED_OTHER_NAME = T.let(T.unsafe(nil), Regexp)
693
-
694
- Rack::Multipart::EXTENDED_OTHER_PARAMETER = T.let(T.unsafe(nil), Regexp)
695
-
696
- Rack::Multipart::EXTENDED_OTHER_VALUE = T.let(T.unsafe(nil), Regexp)
697
-
698
- Rack::Multipart::EXTENDED_PARAMETER = T.let(T.unsafe(nil), Regexp)
699
-
700
- class Rack::Multipart::Generator
701
- def initialize(params, first = T.unsafe(nil)); end
702
-
703
- def dump; end
704
-
705
- private
706
-
707
- def content_for_other(file, name); end
708
- def content_for_tempfile(io, file, name); end
709
- def flattened_params; end
710
- def multipart?; end
711
- end
712
-
713
- Rack::Multipart::MULTIPART = T.let(T.unsafe(nil), Regexp)
714
-
715
- Rack::Multipart::MULTIPART_BOUNDARY = T.let(T.unsafe(nil), String)
716
-
717
- Rack::Multipart::MULTIPART_CONTENT_DISPOSITION = T.let(T.unsafe(nil), Regexp)
718
-
719
- Rack::Multipart::MULTIPART_CONTENT_ID = T.let(T.unsafe(nil), Regexp)
720
-
721
- Rack::Multipart::MULTIPART_CONTENT_TYPE = T.let(T.unsafe(nil), Regexp)
722
-
723
- class Rack::Multipart::MultipartPartLimitError < ::Errno::EMFILE
724
- end
725
-
726
- class Rack::Multipart::Parser
727
- def initialize(boundary, tempfile, bufsize, query_parser); end
728
-
729
- def on_read(content); end
730
- def result; end
731
- def state; end
732
-
733
- private
734
-
735
- def consume_boundary; end
736
- def full_boundary; end
737
- def get_filename(head); end
738
- def handle_consume_token; end
739
- def handle_empty_content!(content); end
740
- def handle_fast_forward; end
741
- def handle_mime_body; end
742
- def handle_mime_head; end
743
- def run_parser; end
744
- def tag_multipart_encoding(filename, content_type, name, body); end
745
-
746
- class << self
747
- def parse(io, content_length, content_type, tmpfile, bufsize, qp); end
748
- def parse_boundary(content_type); end
749
- end
750
- end
751
-
752
- Rack::Multipart::Parser::BOUNDARY_REGEX = T.let(T.unsafe(nil), Regexp)
753
-
754
- Rack::Multipart::Parser::BUFSIZE = T.let(T.unsafe(nil), Integer)
755
-
756
- class Rack::Multipart::Parser::BoundedIO
757
- def initialize(io, content_length); end
758
-
759
- def read(size, outbuf = T.unsafe(nil)); end
760
- def rewind; end
761
- end
762
-
763
- Rack::Multipart::Parser::CHARSET = T.let(T.unsafe(nil), String)
764
-
765
- class Rack::Multipart::Parser::Collector
766
- include(::Enumerable)
767
-
768
- def initialize(tempfile); end
769
-
770
- def each; end
771
- def on_mime_body(mime_index, content); end
772
- def on_mime_finish(mime_index); end
773
- def on_mime_head(mime_index, head, filename, content_type, name); end
774
-
775
- private
776
-
777
- def check_open_files; end
778
- end
779
-
780
- class Rack::Multipart::Parser::Collector::BufferPart < ::Rack::Multipart::Parser::Collector::MimePart
781
- def close; end
782
- def file?; end
783
- end
784
-
785
- class Rack::Multipart::Parser::Collector::MimePart < ::Struct
786
- def get_data; end
787
- end
788
-
789
- class Rack::Multipart::Parser::Collector::TempfilePart < ::Rack::Multipart::Parser::Collector::MimePart
790
- def close; end
791
- def file?; end
792
- end
793
-
794
- Rack::Multipart::Parser::EMPTY = T.let(T.unsafe(nil), Rack::Multipart::Parser::MultipartInfo)
795
-
796
- class Rack::Multipart::Parser::MultipartInfo < ::Struct
797
- def params; end
798
- def params=(_); end
799
- def tmp_files; end
800
- def tmp_files=(_); end
801
-
802
- class << self
803
- def [](*_arg0); end
804
- def inspect; end
805
- def members; end
806
- def new(*_arg0); end
807
- end
808
- end
809
-
810
- Rack::Multipart::Parser::TEMPFILE_FACTORY = T.let(T.unsafe(nil), Proc)
811
-
812
- Rack::Multipart::Parser::TEXT_PLAIN = T.let(T.unsafe(nil), String)
813
-
814
- Rack::Multipart::REGULAR_PARAMETER = T.let(T.unsafe(nil), Regexp)
815
-
816
- Rack::Multipart::REGULAR_PARAMETER_NAME = T.let(T.unsafe(nil), Regexp)
817
-
818
- Rack::Multipart::RFC2183 = T.let(T.unsafe(nil), Regexp)
819
-
820
- Rack::Multipart::SECTION = T.let(T.unsafe(nil), Regexp)
821
-
822
- Rack::Multipart::TOKEN = T.let(T.unsafe(nil), Regexp)
823
-
824
- class Rack::Multipart::UploadedFile
825
- def initialize(filepath = T.unsafe(nil), ct = T.unsafe(nil), bin = T.unsafe(nil), path: T.unsafe(nil), content_type: T.unsafe(nil), binary: T.unsafe(nil), filename: T.unsafe(nil), io: T.unsafe(nil)); end
826
-
827
- def content_type; end
828
- def content_type=(_arg0); end
829
- def local_path; end
830
- def method_missing(method_name, *args, &block); end
831
- def original_filename; end
832
- def path; end
833
- def respond_to?(*args); end
834
- end
835
-
836
- Rack::Multipart::VALUE = T.let(T.unsafe(nil), Regexp)
837
-
838
- class Rack::NullLogger
839
- def initialize(app); end
840
-
841
- def <<(msg); end
842
- def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil), &block); end
843
- def call(env); end
844
- def close; end
845
- def datetime_format; end
846
- def datetime_format=(datetime_format); end
847
- def debug(progname = T.unsafe(nil), &block); end
848
- def debug?; end
849
- def error(progname = T.unsafe(nil), &block); end
850
- def error?; end
851
- def fatal(progname = T.unsafe(nil), &block); end
852
- def fatal?; end
853
- def formatter; end
854
- def formatter=(formatter); end
855
- def info(progname = T.unsafe(nil), &block); end
856
- def info?; end
857
- def level; end
858
- def level=(level); end
859
- def progname; end
860
- def progname=(progname); end
861
- def sev_threshold; end
862
- def sev_threshold=(sev_threshold); end
863
- def unknown(progname = T.unsafe(nil), &block); end
864
- def warn(progname = T.unsafe(nil), &block); end
865
- def warn?; end
866
- end
867
-
868
- Rack::OPTIONS = T.let(T.unsafe(nil), String)
869
-
870
- Rack::PATCH = T.let(T.unsafe(nil), String)
871
-
872
- Rack::PATH_INFO = T.let(T.unsafe(nil), String)
873
-
874
- Rack::POST = T.let(T.unsafe(nil), String)
875
-
876
- Rack::PUT = T.let(T.unsafe(nil), String)
877
-
878
- Rack::QUERY_STRING = T.let(T.unsafe(nil), String)
879
-
880
- class Rack::QueryParser
881
- def initialize(params_class, key_space_limit, param_depth_limit); end
882
-
883
- def key_space_limit; end
884
- def make_params; end
885
- def new_depth_limit(param_depth_limit); end
886
- def new_space_limit(key_space_limit); end
887
- def normalize_params(params, name, v, depth); end
888
- def param_depth_limit; end
889
- def parse_nested_query(qs, d = T.unsafe(nil)); end
890
- def parse_query(qs, d = T.unsafe(nil), &unescaper); end
891
-
892
- private
893
-
894
- def params_hash_has_key?(hash, key); end
895
- def params_hash_type?(obj); end
896
- def unescape(s); end
897
-
898
- class << self
899
- def make_default(key_space_limit, param_depth_limit); end
900
- end
901
- end
902
-
903
- Rack::QueryParser::COMMON_SEP = T.let(T.unsafe(nil), Hash)
904
-
905
- Rack::QueryParser::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp)
906
-
907
- class Rack::QueryParser::InvalidParameterError < ::ArgumentError
908
- end
909
-
910
- class Rack::QueryParser::ParameterTypeError < ::TypeError
911
- end
912
-
913
- class Rack::QueryParser::Params
914
- def initialize(limit); end
915
-
916
- def [](key); end
917
- def []=(key, value); end
918
- def key?(key); end
919
- def to_h; end
920
- def to_params_hash; end
921
- end
922
-
923
- Rack::RACK_ERRORS = T.let(T.unsafe(nil), String)
924
-
925
- Rack::RACK_HIJACK = T.let(T.unsafe(nil), String)
926
-
927
- Rack::RACK_HIJACK_IO = T.let(T.unsafe(nil), String)
928
-
929
- Rack::RACK_INPUT = T.let(T.unsafe(nil), String)
930
-
931
- Rack::RACK_IS_HIJACK = T.let(T.unsafe(nil), String)
932
-
933
- Rack::RACK_LOGGER = T.let(T.unsafe(nil), String)
934
-
935
- Rack::RACK_METHODOVERRIDE_ORIGINAL_METHOD = T.let(T.unsafe(nil), String)
936
-
937
- Rack::RACK_MULTIPART_BUFFER_SIZE = T.let(T.unsafe(nil), String)
938
-
939
- Rack::RACK_MULTIPART_TEMPFILE_FACTORY = T.let(T.unsafe(nil), String)
940
-
941
- Rack::RACK_MULTIPROCESS = T.let(T.unsafe(nil), String)
942
-
943
- Rack::RACK_MULTITHREAD = T.let(T.unsafe(nil), String)
944
-
945
- Rack::RACK_RECURSIVE_INCLUDE = T.let(T.unsafe(nil), String)
946
-
947
- Rack::RACK_REQUEST_COOKIE_HASH = T.let(T.unsafe(nil), String)
948
-
949
- Rack::RACK_REQUEST_COOKIE_STRING = T.let(T.unsafe(nil), String)
950
-
951
- Rack::RACK_REQUEST_FORM_HASH = T.let(T.unsafe(nil), String)
952
-
953
- Rack::RACK_REQUEST_FORM_INPUT = T.let(T.unsafe(nil), String)
954
-
955
- Rack::RACK_REQUEST_FORM_VARS = T.let(T.unsafe(nil), String)
956
-
957
- Rack::RACK_REQUEST_QUERY_HASH = T.let(T.unsafe(nil), String)
958
-
959
- Rack::RACK_REQUEST_QUERY_STRING = T.let(T.unsafe(nil), String)
960
-
961
- Rack::RACK_RUNONCE = T.let(T.unsafe(nil), String)
962
-
963
- Rack::RACK_SESSION = T.let(T.unsafe(nil), String)
964
-
965
- Rack::RACK_SESSION_OPTIONS = T.let(T.unsafe(nil), String)
966
-
967
- Rack::RACK_SESSION_UNPACKED_COOKIE_DATA = T.let(T.unsafe(nil), String)
968
-
969
- Rack::RACK_SHOWSTATUS_DETAIL = T.let(T.unsafe(nil), String)
970
-
971
- Rack::RACK_TEMPFILES = T.let(T.unsafe(nil), String)
972
-
973
- Rack::RACK_URL_SCHEME = T.let(T.unsafe(nil), String)
974
-
975
- Rack::RACK_VERSION = T.let(T.unsafe(nil), String)
976
-
977
- Rack::RELEASE = T.let(T.unsafe(nil), String)
978
-
979
- Rack::REQUEST_METHOD = T.let(T.unsafe(nil), String)
980
-
981
- Rack::REQUEST_PATH = T.let(T.unsafe(nil), String)
982
-
983
- class Rack::Recursive
984
- def initialize(app); end
985
-
986
- def _call(env); end
987
- def call(env); end
988
- def include(env, path); end
989
- end
990
-
991
- class Rack::Reloader
992
- def initialize(app, cooldown = T.unsafe(nil), backend = T.unsafe(nil)); end
993
-
994
- def call(env); end
995
- def reload!(stderr = T.unsafe(nil)); end
996
- def safe_load(file, mtime, stderr = T.unsafe(nil)); end
997
- end
998
-
999
- module Rack::Reloader::Stat
1000
- def figure_path(file, paths); end
1001
- def rotation; end
1002
- def safe_stat(file); end
1003
- end
1004
-
1005
- class Rack::Request
1006
- include(::Rack::Request::Env)
1007
- include(::Rack::Request::Helpers)
1008
-
1009
- def initialize(env); end
1010
-
1011
- def delete_param(k); end
1012
- def params; end
1013
- def update_param(k, v); end
1014
-
1015
- class << self
1016
- def ip_filter; end
1017
- def ip_filter=(_arg0); end
1018
- end
1019
- end
1020
-
1021
- Rack::Request::ALLOWED_SCHEMES = T.let(T.unsafe(nil), Array)
1022
-
1023
- module Rack::Request::Env
1024
- def initialize(env); end
1025
-
1026
- def add_header(key, v); end
1027
- def delete_header(name); end
1028
- def each_header(&block); end
1029
- def env; end
1030
- def fetch_header(name, &block); end
1031
- def get_header(name); end
1032
- def has_header?(name); end
1033
- def set_header(name, v); end
1034
-
1035
- private
1036
-
1037
- def initialize_copy(other); end
1038
- end
1039
-
1040
- module Rack::Request::Helpers
1041
- def GET; end
1042
- def POST; end
1043
- def [](key); end
1044
- def []=(key, value); end
1045
- def accept_encoding; end
1046
- def accept_language; end
1047
- def authority; end
1048
- def base_url; end
1049
- def body; end
1050
- def content_charset; end
1051
- def content_length; end
1052
- def content_type; end
1053
- def cookies; end
1054
- def delete?; end
1055
- def delete_param(k); end
1056
- def form_data?; end
1057
- def forwarded_authority; end
1058
- def forwarded_for; end
1059
- def forwarded_port; end
1060
- def fullpath; end
1061
- def get?; end
1062
- def head?; end
1063
- def host; end
1064
- def host_authority; end
1065
- def host_with_port(authority = T.unsafe(nil)); end
1066
- def hostname; end
1067
- def ip; end
1068
- def link?; end
1069
- def logger; end
1070
- def media_type; end
1071
- def media_type_params; end
1072
- def multithread?; end
1073
- def options?; end
1074
- def params; end
1075
- def parseable_data?; end
1076
- def patch?; end
1077
- def path; end
1078
- def path_info; end
1079
- def path_info=(s); end
1080
- def port; end
1081
- def post?; end
1082
- def put?; end
1083
- def query_string; end
1084
- def referer; end
1085
- def referrer; end
1086
- def request_method; end
1087
- def scheme; end
1088
- def script_name; end
1089
- def script_name=(s); end
1090
- def server_authority; end
1091
- def server_name; end
1092
- def server_port; end
1093
- def session; end
1094
- def session_options; end
1095
- def ssl?; end
1096
- def trace?; end
1097
- def trusted_proxy?(ip); end
1098
- def unlink?; end
1099
- def update_param(k, v); end
1100
- def url; end
1101
- def user_agent; end
1102
- def values_at(*keys); end
1103
- def xhr?; end
1104
-
1105
- private
1106
-
1107
- def allowed_scheme(header); end
1108
- def default_session; end
1109
- def extract_proto_header(header); end
1110
- def forwarded_scheme; end
1111
- def parse_http_accept_header(header); end
1112
- def parse_multipart; end
1113
- def parse_query(qs, d = T.unsafe(nil)); end
1114
- def query_parser; end
1115
- def reject_trusted_ip_addresses(ip_addresses); end
1116
- def split_authority(authority); end
1117
- def split_header(value); end
1118
- def wrap_ipv6(host); end
1119
- end
1120
-
1121
- Rack::Request::Helpers::DEFAULT_PORTS = T.let(T.unsafe(nil), Hash)
1122
-
1123
- Rack::Request::Helpers::FORM_DATA_MEDIA_TYPES = T.let(T.unsafe(nil), Array)
1124
-
1125
- Rack::Request::Helpers::HTTP_X_FORWARDED_FOR = T.let(T.unsafe(nil), String)
1126
-
1127
- Rack::Request::Helpers::HTTP_X_FORWARDED_HOST = T.let(T.unsafe(nil), String)
1128
-
1129
- Rack::Request::Helpers::HTTP_X_FORWARDED_PORT = T.let(T.unsafe(nil), String)
1130
-
1131
- Rack::Request::Helpers::HTTP_X_FORWARDED_PROTO = T.let(T.unsafe(nil), String)
1132
-
1133
- Rack::Request::Helpers::HTTP_X_FORWARDED_SCHEME = T.let(T.unsafe(nil), String)
1134
-
1135
- Rack::Request::Helpers::HTTP_X_FORWARDED_SSL = T.let(T.unsafe(nil), String)
1136
-
1137
- Rack::Request::Helpers::PARSEABLE_DATA_MEDIA_TYPES = T.let(T.unsafe(nil), Array)
1138
-
1139
- Rack::Request::SCHEME_WHITELIST = T.let(T.unsafe(nil), Array)
1140
-
1141
- class Rack::Response
1142
- include(::Rack::Response::Helpers)
1143
-
1144
- def initialize(body = T.unsafe(nil), status = T.unsafe(nil), headers = T.unsafe(nil)); end
1145
-
1146
- def [](key); end
1147
- def []=(key, v); end
1148
- def body; end
1149
- def body=(_arg0); end
1150
- def chunked?; end
1151
- def close; end
1152
- def delete_header(key); end
1153
- def each(&callback); end
1154
- def empty?; end
1155
- def finish(&block); end
1156
- def get_header(key); end
1157
- def has_header?(key); end
1158
- def header; end
1159
- def headers; end
1160
- def length; end
1161
- def length=(_arg0); end
1162
- def redirect(target, status = T.unsafe(nil)); end
1163
- def set_header(key, v); end
1164
- def status; end
1165
- def status=(_arg0); end
1166
- def to_a(&block); end
1167
- def write(chunk); end
1168
-
1169
- class << self
1170
- def [](status, headers, body); end
1171
- end
1172
- end
1173
-
1174
- Rack::Response::CHUNKED = T.let(T.unsafe(nil), String)
1175
-
1176
- module Rack::Response::Helpers
1177
- def accepted?; end
1178
- def add_header(key, v); end
1179
- def bad_request?; end
1180
- def cache!(duration = T.unsafe(nil), directive: T.unsafe(nil)); end
1181
- def cache_control; end
1182
- def cache_control=(v); end
1183
- def client_error?; end
1184
- def content_length; end
1185
- def content_type; end
1186
- def content_type=(content_type); end
1187
- def created?; end
1188
- def delete_cookie(key, value = T.unsafe(nil)); end
1189
- def do_not_cache!; end
1190
- def etag; end
1191
- def etag=(v); end
1192
- def forbidden?; end
1193
- def include?(header); end
1194
- def informational?; end
1195
- def invalid?; end
1196
- def location; end
1197
- def location=(location); end
1198
- def media_type; end
1199
- def media_type_params; end
1200
- def method_not_allowed?; end
1201
- def moved_permanently?; end
1202
- def no_content?; end
1203
- def not_found?; end
1204
- def ok?; end
1205
- def precondition_failed?; end
1206
- def redirect?; end
1207
- def redirection?; end
1208
- def server_error?; end
1209
- def set_cookie(key, value); end
1210
- def set_cookie_header; end
1211
- def set_cookie_header=(v); end
1212
- def successful?; end
1213
- def unauthorized?; end
1214
- def unprocessable?; end
1215
-
1216
- protected
1217
-
1218
- def append(chunk); end
1219
- def buffered_body!; end
1220
- end
1221
-
1222
- class Rack::Response::Raw
1223
- include(::Rack::Response::Helpers)
1224
-
1225
- def initialize(status, headers); end
1226
-
1227
- def delete_header(key); end
1228
- def get_header(key); end
1229
- def has_header?(key); end
1230
- def headers; end
1231
- def set_header(key, v); end
1232
- def status; end
1233
- def status=(_arg0); end
1234
- end
1235
-
1236
- Rack::Response::STATUS_WITH_NO_ENTITY_BODY = T.let(T.unsafe(nil), Hash)
1237
-
1238
- class Rack::RewindableInput
1239
- def initialize(io); end
1240
-
1241
- def close; end
1242
- def each(&block); end
1243
- def gets; end
1244
- def read(*args); end
1245
- def rewind; end
1246
-
1247
- private
1248
-
1249
- def filesystem_has_posix_semantics?; end
1250
- def make_rewindable; end
1251
- end
1252
-
1253
- class Rack::Runtime
1254
- def initialize(app, name = T.unsafe(nil)); end
1255
-
1256
- def call(env); end
1257
- end
1258
-
1259
- Rack::Runtime::FORMAT_STRING = T.let(T.unsafe(nil), String)
1260
-
1261
- Rack::Runtime::HEADER_NAME = T.let(T.unsafe(nil), String)
1262
-
1263
- Rack::SCRIPT_NAME = T.let(T.unsafe(nil), String)
1264
-
1265
- Rack::SERVER_NAME = T.let(T.unsafe(nil), String)
1266
-
1267
- Rack::SERVER_PORT = T.let(T.unsafe(nil), String)
1268
-
1269
- Rack::SERVER_PROTOCOL = T.let(T.unsafe(nil), String)
1270
-
1271
- Rack::SET_COOKIE = T.let(T.unsafe(nil), String)
1272
-
1273
- class Rack::Sendfile
1274
- def initialize(app, variation = T.unsafe(nil), mappings = T.unsafe(nil)); end
1275
-
1276
- def call(env); end
1277
-
1278
- private
1279
-
1280
- def map_accel_path(env, path); end
1281
- def variation(env); end
1282
- end
1283
-
1284
- class Rack::Server
1285
- def initialize(options = T.unsafe(nil)); end
1286
-
1287
- def app; end
1288
- def default_options; end
1289
- def middleware; end
1290
- def options; end
1291
- def options=(_arg0); end
1292
- def server; end
1293
- def start(&block); end
1294
-
1295
- private
1296
-
1297
- def build_app(app); end
1298
- def build_app_and_options_from_config; end
1299
- def build_app_from_string; end
1300
- def check_pid!; end
1301
- def daemonize_app; end
1302
- def handle_profiling(heapfile, profile_mode, filename); end
1303
- def make_profile_name(filename); end
1304
- def opt_parser; end
1305
- def parse_options(args); end
1306
- def pidfile_process_status; end
1307
- def wrapped_app; end
1308
- def write_pid; end
1309
-
1310
- class << self
1311
- def default_middleware_by_environment; end
1312
- def logging_middleware; end
1313
- def middleware; end
1314
- def start(options = T.unsafe(nil)); end
1315
- end
1316
- end
1317
-
1318
- class Rack::Server::Options
1319
- def handler_opts(options); end
1320
- def parse!(args); end
1321
- end
1322
-
1323
- module Rack::Session
1324
- end
1325
-
1326
- module Rack::Session::Abstract
1327
- end
1328
-
1329
- class Rack::Session::Abstract::ID < ::Rack::Session::Abstract::Persisted
1330
- def delete_session(req, sid, options); end
1331
- def find_session(req, sid); end
1332
- def write_session(req, sid, session, options); end
1333
-
1334
- class << self
1335
- def inherited(klass); end
1336
- end
1337
- end
1338
-
1339
- class Rack::Session::Abstract::Persisted
1340
- def initialize(app, options = T.unsafe(nil)); end
1341
-
1342
- def call(env); end
1343
- def commit_session(req, res); end
1344
- def context(env, app = T.unsafe(nil)); end
1345
- def default_options; end
1346
- def key; end
1347
- def sid_secure; end
1348
-
1349
- private
1350
-
1351
- def commit_session?(req, session, options); end
1352
- def cookie_value(data); end
1353
- def current_session_id(req); end
1354
- def delete_session(req, sid, options); end
1355
- def extract_session_id(request); end
1356
- def find_session(env, sid); end
1357
- def force_options?(options); end
1358
- def forced_session_update?(session, options); end
1359
- def generate_sid(secure = T.unsafe(nil)); end
1360
- def initialize_sid; end
1361
- def load_session(req); end
1362
- def loaded_session?(session); end
1363
- def make_request(env); end
1364
- def prepare_session(req); end
1365
- def security_matches?(request, options); end
1366
- def session_class; end
1367
- def session_exists?(req); end
1368
- def set_cookie(request, res, cookie); end
1369
- def write_session(req, sid, session, options); end
1370
- end
1371
-
1372
- Rack::Session::Abstract::Persisted::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
1373
-
1374
- class Rack::Session::Abstract::PersistedSecure < ::Rack::Session::Abstract::Persisted
1375
- def extract_session_id(*_arg0); end
1376
- def generate_sid(*_arg0); end
1377
-
1378
- private
1379
-
1380
- def cookie_value(data); end
1381
- def session_class; end
1382
- end
1383
-
1384
- class Rack::Session::Abstract::PersistedSecure::SecureSessionHash < ::Rack::Session::Abstract::SessionHash
1385
- def [](key); end
1386
- end
1387
-
1388
- class Rack::Session::Abstract::SessionHash
1389
- include(::Enumerable)
1390
-
1391
- def initialize(store, req); end
1392
-
1393
- def [](key); end
1394
- def []=(key, value); end
1395
- def clear; end
1396
- def delete(key); end
1397
- def destroy; end
1398
- def dig(key, *keys); end
1399
- def each(&block); end
1400
- def empty?; end
1401
- def exists?; end
1402
- def fetch(key, default = T.unsafe(nil), &block); end
1403
- def has_key?(key); end
1404
- def id; end
1405
- def id=(_arg0); end
1406
- def include?(key); end
1407
- def inspect; end
1408
- def key?(key); end
1409
- def keys; end
1410
- def loaded?; end
1411
- def merge!(hash); end
1412
- def options; end
1413
- def replace(hash); end
1414
- def store(key, value); end
1415
- def to_hash; end
1416
- def update(hash); end
1417
- def values; end
1418
-
1419
- private
1420
-
1421
- def load!; end
1422
- def load_for_read!; end
1423
- def load_for_write!; end
1424
- def stringify_keys(other); end
1425
-
1426
- class << self
1427
- def find(req); end
1428
- def set(req, session); end
1429
- def set_options(req, options); end
1430
- end
1431
- end
1432
-
1433
- Rack::Session::Abstract::SessionHash::Unspecified = T.let(T.unsafe(nil), Object)
1434
-
1435
- class Rack::Session::Cookie < ::Rack::Session::Abstract::PersistedSecure
1436
- def initialize(app, options = T.unsafe(nil)); end
1437
-
1438
- def coder; end
1439
-
1440
- private
1441
-
1442
- def delete_session(req, session_id, options); end
1443
- def digest_match?(data, digest); end
1444
- def extract_session_id(request); end
1445
- def find_session(req, sid); end
1446
- def generate_hmac(data, secret); end
1447
- def persistent_session_id!(data, sid = T.unsafe(nil)); end
1448
- def secure?(options); end
1449
- def unpacked_cookie_data(request); end
1450
- def write_session(req, session_id, session, options); end
1451
- end
1452
-
1453
- class Rack::Session::Cookie::Base64
1454
- def decode(str); end
1455
- def encode(str); end
1456
- end
1457
-
1458
- class Rack::Session::Cookie::Base64::JSON < ::Rack::Session::Cookie::Base64
1459
- def decode(str); end
1460
- def encode(obj); end
1461
- end
1462
-
1463
- class Rack::Session::Cookie::Base64::Marshal < ::Rack::Session::Cookie::Base64
1464
- def decode(str); end
1465
- def encode(str); end
1466
- end
1467
-
1468
- class Rack::Session::Cookie::Base64::ZipJSON < ::Rack::Session::Cookie::Base64
1469
- def decode(str); end
1470
- def encode(obj); end
1471
- end
1472
-
1473
- class Rack::Session::Cookie::Identity
1474
- def decode(str); end
1475
- def encode(str); end
1476
- end
1477
-
1478
- class Rack::Session::Cookie::SessionId
1479
- def initialize(session_id, cookie_value); end
1480
-
1481
- def cookie_value; end
1482
- end
1483
-
1484
- class Rack::Session::Pool < ::Rack::Session::Abstract::PersistedSecure
1485
- def initialize(app, options = T.unsafe(nil)); end
1486
-
1487
- def delete_session(req, session_id, options); end
1488
- def find_session(req, sid); end
1489
- def generate_sid; end
1490
- def mutex; end
1491
- def pool; end
1492
- def with_lock(req); end
1493
- def write_session(req, session_id, new_session, options); end
1494
-
1495
- private
1496
-
1497
- def get_session_with_fallback(sid); end
1498
- end
1499
-
1500
- Rack::Session::Pool::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
1501
-
1502
- class Rack::Session::SessionId
1503
- def initialize(public_id); end
1504
-
1505
- def cookie_value; end
1506
- def empty?; end
1507
- def inspect; end
1508
- def private_id; end
1509
- def public_id; end
1510
- def to_s; end
1511
-
1512
- private
1513
-
1514
- def hash_sid(sid); end
1515
- end
1516
-
1517
- Rack::Session::SessionId::ID_VERSION = T.let(T.unsafe(nil), Integer)
1518
-
1519
- class Rack::ShowExceptions
1520
- def initialize(app); end
1521
-
1522
- def call(env); end
1523
- def dump_exception(exception); end
1524
- def h(obj); end
1525
- def prefers_plaintext?(env); end
1526
- def pretty(env, exception); end
1527
- def template; end
1528
-
1529
- private
1530
-
1531
- def accepts_html?(env); end
1532
- end
1533
-
1534
- Rack::ShowExceptions::CONTEXT = T.let(T.unsafe(nil), Integer)
1535
-
1536
- Rack::ShowExceptions::TEMPLATE = T.let(T.unsafe(nil), ERB)
1537
-
1538
- class Rack::ShowStatus
1539
- def initialize(app); end
1540
-
1541
- def call(env); end
1542
- def h(obj); end
1543
- end
1544
-
1545
- Rack::ShowStatus::TEMPLATE = T.let(T.unsafe(nil), String)
1546
-
1547
- class Rack::Static
1548
- def initialize(app, options = T.unsafe(nil)); end
1549
-
1550
- def add_index_root?(path); end
1551
- def applicable_rules(path); end
1552
- def call(env); end
1553
- def can_serve(path); end
1554
- def overwrite_file_path(path); end
1555
- def route_file(path); end
1556
- end
1557
-
1558
- Rack::TRACE = T.let(T.unsafe(nil), String)
1559
-
1560
- Rack::TRANSFER_ENCODING = T.let(T.unsafe(nil), String)
1561
-
1562
- class Rack::TempfileReaper
1563
- def initialize(app); end
1564
-
1565
- def call(env); end
1566
- end
1567
-
1568
- Rack::UNLINK = T.let(T.unsafe(nil), String)
1569
-
1570
- class Rack::URLMap
1571
- def initialize(map = T.unsafe(nil)); end
1572
-
1573
- def call(env); end
1574
- def remap(map); end
1575
-
1576
- private
1577
-
1578
- def casecmp?(v1, v2); end
1579
- end
1580
-
1581
- module Rack::Utils
1582
-
1583
- private
1584
-
1585
- def add_cookie_to_header(header, key, value); end
1586
- def add_remove_cookie_to_header(header, key, value = T.unsafe(nil)); end
1587
- def best_q_match(q_value_header, available_mimes); end
1588
- def build_nested_query(value, prefix = T.unsafe(nil)); end
1589
- def build_query(params); end
1590
- def byte_ranges(env, size); end
1591
- def clean_path_info(path_info); end
1592
- def clock_time; end
1593
- def delete_cookie_header!(header, key, value = T.unsafe(nil)); end
1594
- def escape(s); end
1595
- def escape_html(string); end
1596
- def escape_path(s); end
1597
- def get_byte_ranges(http_range, size); end
1598
- def make_delete_cookie_header(header, key, value); end
1599
- def parse_cookies(env); end
1600
- def parse_cookies_header(header); end
1601
- def parse_nested_query(qs, d = T.unsafe(nil)); end
1602
- def parse_query(qs, d = T.unsafe(nil), &unescaper); end
1603
- def q_values(q_value_header); end
1604
- def rfc2109(time); end
1605
- def rfc2822(time); end
1606
- def secure_compare(a, b); end
1607
- def select_best_encoding(available_encodings, accept_encoding); end
1608
- def set_cookie_header!(header, key, value); end
1609
- def status_code(status); end
1610
- def unescape(s, encoding = T.unsafe(nil)); end
1611
- def unescape_path(s); end
1612
- def valid_path?(path); end
1613
-
1614
- class << self
1615
- def add_cookie_to_header(header, key, value); end
1616
- def add_remove_cookie_to_header(header, key, value = T.unsafe(nil)); end
1617
- def best_q_match(q_value_header, available_mimes); end
1618
- def build_nested_query(value, prefix = T.unsafe(nil)); end
1619
- def build_query(params); end
1620
- def byte_ranges(env, size); end
1621
- def clean_path_info(path_info); end
1622
- def clock_time; end
1623
- def default_query_parser; end
1624
- def default_query_parser=(_arg0); end
1625
- def delete_cookie_header!(header, key, value = T.unsafe(nil)); end
1626
- def escape(s); end
1627
- def escape_html(string); end
1628
- def escape_path(s); end
1629
- def get_byte_ranges(http_range, size); end
1630
- def key_space_limit; end
1631
- def key_space_limit=(v); end
1632
- def make_delete_cookie_header(header, key, value); end
1633
- def multipart_part_limit; end
1634
- def multipart_part_limit=(_arg0); end
1635
- def param_depth_limit; end
1636
- def param_depth_limit=(v); end
1637
- def parse_cookies(env); end
1638
- def parse_cookies_header(header); end
1639
- def parse_nested_query(qs, d = T.unsafe(nil)); end
1640
- def parse_query(qs, d = T.unsafe(nil), &unescaper); end
1641
- def q_values(q_value_header); end
1642
- def rfc2109(time); end
1643
- def rfc2822(time); end
1644
- def secure_compare(a, b); end
1645
- def select_best_encoding(available_encodings, accept_encoding); end
1646
- def set_cookie_header!(header, key, value); end
1647
- def status_code(status); end
1648
- def unescape(s, encoding = T.unsafe(nil)); end
1649
- def unescape_path(s); end
1650
- def valid_path?(path); end
1651
- end
1652
- end
1653
-
1654
- Rack::Utils::COMMON_SEP = T.let(T.unsafe(nil), Hash)
1655
-
1656
- class Rack::Utils::Context
1657
- def initialize(app_f, app_r); end
1658
-
1659
- def app; end
1660
- def call(env); end
1661
- def context(env, app = T.unsafe(nil)); end
1662
- def for; end
1663
- def recontext(app); end
1664
- end
1665
-
1666
- Rack::Utils::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp)
1667
-
1668
- Rack::Utils::ESCAPE_HTML = T.let(T.unsafe(nil), Hash)
1669
-
1670
- Rack::Utils::ESCAPE_HTML_PATTERN = T.let(T.unsafe(nil), Regexp)
1671
-
1672
- Rack::Utils::HTTP_STATUS_CODES = T.let(T.unsafe(nil), Hash)
1673
-
1674
- class Rack::Utils::HeaderHash < ::Hash
1675
- def initialize(hash = T.unsafe(nil)); end
1676
-
1677
- def [](k); end
1678
- def []=(k, v); end
1679
- def clear; end
1680
- def delete(k); end
1681
- def each; end
1682
- def has_key?(k); end
1683
- def include?(k); end
1684
- def key?(k); end
1685
- def member?(k); end
1686
- def merge(other); end
1687
- def merge!(other); end
1688
- def replace(other); end
1689
- def to_hash; end
1690
-
1691
- protected
1692
-
1693
- def names; end
1694
-
1695
- private
1696
-
1697
- def initialize_copy(other); end
1698
-
1699
- class << self
1700
- def [](headers); end
1701
- end
1702
- end
1703
-
1704
- Rack::Utils::InvalidParameterError = Rack::QueryParser::InvalidParameterError
1705
-
1706
- Rack::Utils::KeySpaceConstrainedParams = Rack::QueryParser::Params
1707
-
1708
- Rack::Utils::NULL_BYTE = T.let(T.unsafe(nil), String)
1709
-
1710
- Rack::Utils::PATH_SEPS = T.let(T.unsafe(nil), Regexp)
1711
-
1712
- Rack::Utils::ParameterTypeError = Rack::QueryParser::ParameterTypeError
1713
-
1714
- Rack::Utils::STATUS_WITH_NO_ENTITY_BODY = T.let(T.unsafe(nil), Hash)
1715
-
1716
- Rack::Utils::SYMBOL_TO_STATUS_CODE = T.let(T.unsafe(nil), Hash)
1717
-
1718
- Rack::VERSION = T.let(T.unsafe(nil), Array)