rack 1.6.11 → 2.2.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rack might be problematic. Click here for more details.

Files changed (190) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +694 -0
  3. data/CONTRIBUTING.md +136 -0
  4. data/{COPYING → MIT-LICENSE} +4 -2
  5. data/README.rdoc +157 -163
  6. data/Rakefile +38 -32
  7. data/{SPEC → SPEC.rdoc} +41 -13
  8. data/bin/rackup +1 -0
  9. data/contrib/rack_logo.svg +164 -111
  10. data/example/lobster.ru +2 -0
  11. data/example/protectedlobster.rb +4 -2
  12. data/example/protectedlobster.ru +3 -1
  13. data/lib/rack/auth/abstract/handler.rb +3 -1
  14. data/lib/rack/auth/abstract/request.rb +6 -2
  15. data/lib/rack/auth/basic.rb +7 -4
  16. data/lib/rack/auth/digest/md5.rb +13 -11
  17. data/lib/rack/auth/digest/nonce.rb +6 -3
  18. data/lib/rack/auth/digest/params.rb +5 -4
  19. data/lib/rack/auth/digest/request.rb +6 -4
  20. data/lib/rack/body_proxy.rb +21 -15
  21. data/lib/rack/builder.rb +119 -26
  22. data/lib/rack/cascade.rb +28 -12
  23. data/lib/rack/chunked.rb +70 -22
  24. data/lib/rack/common_logger.rb +80 -0
  25. data/lib/rack/{conditionalget.rb → conditional_get.rb} +20 -16
  26. data/lib/rack/config.rb +2 -0
  27. data/lib/rack/content_length.rb +9 -8
  28. data/lib/rack/content_type.rb +5 -4
  29. data/lib/rack/core_ext/regexp.rb +14 -0
  30. data/lib/rack/deflater.rb +60 -70
  31. data/lib/rack/directory.rb +117 -85
  32. data/lib/rack/etag.rb +9 -7
  33. data/lib/rack/events.rb +153 -0
  34. data/lib/rack/file.rb +4 -149
  35. data/lib/rack/files.rb +218 -0
  36. data/lib/rack/handler/cgi.rb +17 -19
  37. data/lib/rack/handler/fastcgi.rb +17 -18
  38. data/lib/rack/handler/lsws.rb +14 -14
  39. data/lib/rack/handler/scgi.rb +22 -21
  40. data/lib/rack/handler/thin.rb +6 -3
  41. data/lib/rack/handler/webrick.rb +39 -32
  42. data/lib/rack/handler.rb +9 -26
  43. data/lib/rack/head.rb +16 -18
  44. data/lib/rack/lint.rb +110 -64
  45. data/lib/rack/lobster.rb +10 -10
  46. data/lib/rack/lock.rb +17 -11
  47. data/lib/rack/logger.rb +4 -2
  48. data/lib/rack/media_type.rb +43 -0
  49. data/lib/rack/{methodoverride.rb → method_override.rb} +10 -8
  50. data/lib/rack/mime.rb +27 -6
  51. data/lib/rack/mock.rb +124 -65
  52. data/lib/rack/multipart/generator.rb +20 -16
  53. data/lib/rack/multipart/parser.rb +273 -162
  54. data/lib/rack/multipart/uploaded_file.rb +15 -8
  55. data/lib/rack/multipart.rb +39 -8
  56. data/lib/rack/{nulllogger.rb → null_logger.rb} +3 -1
  57. data/lib/rack/query_parser.rb +217 -0
  58. data/lib/rack/recursive.rb +11 -9
  59. data/lib/rack/reloader.rb +8 -4
  60. data/lib/rack/request.rb +553 -305
  61. data/lib/rack/response.rb +244 -88
  62. data/lib/rack/rewindable_input.rb +5 -15
  63. data/lib/rack/runtime.rb +12 -18
  64. data/lib/rack/sendfile.rb +17 -15
  65. data/lib/rack/server.rb +125 -47
  66. data/lib/rack/session/abstract/id.rb +217 -93
  67. data/lib/rack/session/cookie.rb +46 -31
  68. data/lib/rack/session/memcache.rb +4 -87
  69. data/lib/rack/session/pool.rb +26 -17
  70. data/lib/rack/show_exceptions.rb +390 -0
  71. data/lib/rack/{showstatus.rb → show_status.rb} +12 -12
  72. data/lib/rack/static.rb +48 -11
  73. data/lib/rack/tempfile_reaper.rb +3 -3
  74. data/lib/rack/urlmap.rb +26 -19
  75. data/lib/rack/utils.rb +212 -294
  76. data/lib/rack/version.rb +29 -0
  77. data/lib/rack.rb +76 -33
  78. data/rack.gemspec +43 -30
  79. metadata +65 -186
  80. data/HISTORY.md +0 -375
  81. data/KNOWN-ISSUES +0 -44
  82. data/lib/rack/backports/uri/common_18.rb +0 -56
  83. data/lib/rack/backports/uri/common_192.rb +0 -52
  84. data/lib/rack/backports/uri/common_193.rb +0 -29
  85. data/lib/rack/commonlogger.rb +0 -72
  86. data/lib/rack/handler/evented_mongrel.rb +0 -8
  87. data/lib/rack/handler/mongrel.rb +0 -106
  88. data/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  89. data/lib/rack/showexceptions.rb +0 -387
  90. data/lib/rack/utils/okjson.rb +0 -600
  91. data/test/builder/anything.rb +0 -5
  92. data/test/builder/comment.ru +0 -4
  93. data/test/builder/end.ru +0 -5
  94. data/test/builder/line.ru +0 -1
  95. data/test/builder/options.ru +0 -2
  96. data/test/cgi/assets/folder/test.js +0 -1
  97. data/test/cgi/assets/fonts/font.eot +0 -1
  98. data/test/cgi/assets/images/image.png +0 -1
  99. data/test/cgi/assets/index.html +0 -1
  100. data/test/cgi/assets/javascripts/app.js +0 -1
  101. data/test/cgi/assets/stylesheets/app.css +0 -1
  102. data/test/cgi/lighttpd.conf +0 -26
  103. data/test/cgi/rackup_stub.rb +0 -6
  104. data/test/cgi/sample_rackup.ru +0 -5
  105. data/test/cgi/test +0 -9
  106. data/test/cgi/test+directory/test+file +0 -1
  107. data/test/cgi/test.fcgi +0 -8
  108. data/test/cgi/test.ru +0 -5
  109. data/test/gemloader.rb +0 -10
  110. data/test/multipart/bad_robots +0 -259
  111. data/test/multipart/binary +0 -0
  112. data/test/multipart/content_type_and_no_filename +0 -6
  113. data/test/multipart/empty +0 -10
  114. data/test/multipart/fail_16384_nofile +0 -814
  115. data/test/multipart/file1.txt +0 -1
  116. data/test/multipart/filename_and_modification_param +0 -7
  117. data/test/multipart/filename_and_no_name +0 -6
  118. data/test/multipart/filename_with_escaped_quotes +0 -6
  119. data/test/multipart/filename_with_escaped_quotes_and_modification_param +0 -7
  120. data/test/multipart/filename_with_null_byte +0 -7
  121. data/test/multipart/filename_with_percent_escaped_quotes +0 -6
  122. data/test/multipart/filename_with_unescaped_percentages +0 -6
  123. data/test/multipart/filename_with_unescaped_percentages2 +0 -6
  124. data/test/multipart/filename_with_unescaped_percentages3 +0 -6
  125. data/test/multipart/filename_with_unescaped_quotes +0 -6
  126. data/test/multipart/ie +0 -6
  127. data/test/multipart/invalid_character +0 -6
  128. data/test/multipart/mixed_files +0 -21
  129. data/test/multipart/nested +0 -10
  130. data/test/multipart/none +0 -9
  131. data/test/multipart/semicolon +0 -6
  132. data/test/multipart/text +0 -15
  133. data/test/multipart/three_files_three_fields +0 -31
  134. data/test/multipart/webkit +0 -32
  135. data/test/rackup/config.ru +0 -31
  136. data/test/registering_handler/rack/handler/registering_myself.rb +0 -8
  137. data/test/spec_auth_basic.rb +0 -81
  138. data/test/spec_auth_digest.rb +0 -259
  139. data/test/spec_body_proxy.rb +0 -85
  140. data/test/spec_builder.rb +0 -223
  141. data/test/spec_cascade.rb +0 -61
  142. data/test/spec_cgi.rb +0 -102
  143. data/test/spec_chunked.rb +0 -101
  144. data/test/spec_commonlogger.rb +0 -93
  145. data/test/spec_conditionalget.rb +0 -102
  146. data/test/spec_config.rb +0 -22
  147. data/test/spec_content_length.rb +0 -85
  148. data/test/spec_content_type.rb +0 -45
  149. data/test/spec_deflater.rb +0 -339
  150. data/test/spec_directory.rb +0 -88
  151. data/test/spec_etag.rb +0 -107
  152. data/test/spec_fastcgi.rb +0 -107
  153. data/test/spec_file.rb +0 -221
  154. data/test/spec_handler.rb +0 -72
  155. data/test/spec_head.rb +0 -45
  156. data/test/spec_lint.rb +0 -550
  157. data/test/spec_lobster.rb +0 -58
  158. data/test/spec_lock.rb +0 -164
  159. data/test/spec_logger.rb +0 -23
  160. data/test/spec_methodoverride.rb +0 -111
  161. data/test/spec_mime.rb +0 -51
  162. data/test/spec_mock.rb +0 -297
  163. data/test/spec_mongrel.rb +0 -182
  164. data/test/spec_multipart.rb +0 -600
  165. data/test/spec_nulllogger.rb +0 -20
  166. data/test/spec_recursive.rb +0 -72
  167. data/test/spec_request.rb +0 -1232
  168. data/test/spec_response.rb +0 -407
  169. data/test/spec_rewindable_input.rb +0 -118
  170. data/test/spec_runtime.rb +0 -49
  171. data/test/spec_sendfile.rb +0 -130
  172. data/test/spec_server.rb +0 -167
  173. data/test/spec_session_abstract_id.rb +0 -53
  174. data/test/spec_session_cookie.rb +0 -410
  175. data/test/spec_session_memcache.rb +0 -321
  176. data/test/spec_session_pool.rb +0 -209
  177. data/test/spec_showexceptions.rb +0 -98
  178. data/test/spec_showstatus.rb +0 -103
  179. data/test/spec_static.rb +0 -145
  180. data/test/spec_tempfile_reaper.rb +0 -63
  181. data/test/spec_thin.rb +0 -91
  182. data/test/spec_urlmap.rb +0 -236
  183. data/test/spec_utils.rb +0 -647
  184. data/test/spec_version.rb +0 -17
  185. data/test/spec_webrick.rb +0 -184
  186. data/test/static/another/index.html +0 -1
  187. data/test/static/index.html +0 -1
  188. data/test/testrequest.rb +0 -78
  189. data/test/unregistered_handler/rack/handler/unregistered.rb +0 -7
  190. data/test/unregistered_handler/rack/handler/unregistered_long_one.rb +0 -7
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (C) 2007-2019 Leah Neukirchen <http://leahneukirchen.org/infopage.html>
4
+ #
5
+ # Rack is freely distributable under the terms of an MIT-style license.
6
+ # See MIT-LICENSE or https://opensource.org/licenses/MIT.
7
+
8
+ # The Rack main module, serving as a namespace for all core Rack
9
+ # modules and classes.
10
+ #
11
+ # All modules meant for use in your application are <tt>autoload</tt>ed here,
12
+ # so it should be enough just to <tt>require 'rack'</tt> in your code.
13
+
14
+ module Rack
15
+ # The Rack protocol version number implemented.
16
+ VERSION = [1, 3]
17
+
18
+ # Return the Rack protocol version as a dotted string.
19
+ def self.version
20
+ VERSION.join(".")
21
+ end
22
+
23
+ RELEASE = "2.2.3"
24
+
25
+ # Return the Rack release as a dotted string.
26
+ def self.release
27
+ RELEASE
28
+ end
29
+ end
data/lib/rack.rb CHANGED
@@ -1,49 +1,94 @@
1
- # Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (C) 2007-2019 Leah Neukirchen <http://leahneukirchen.org/infopage.html>
2
4
  #
3
5
  # Rack is freely distributable under the terms of an MIT-style license.
4
- # See COPYING or http://www.opensource.org/licenses/mit-license.php.
6
+ # See MIT-LICENSE or https://opensource.org/licenses/MIT.
5
7
 
6
8
  # The Rack main module, serving as a namespace for all core Rack
7
9
  # modules and classes.
8
10
  #
9
11
  # All modules meant for use in your application are <tt>autoload</tt>ed here,
10
- # so it should be enough just to <tt>require rack.rb</tt> in your code.
12
+ # so it should be enough just to <tt>require 'rack'</tt> in your code.
13
+
14
+ require_relative 'rack/version'
11
15
 
12
16
  module Rack
13
- # The Rack protocol version number implemented.
14
- VERSION = [1,3]
17
+ HTTP_HOST = 'HTTP_HOST'
18
+ HTTP_PORT = 'HTTP_PORT'
19
+ HTTP_VERSION = 'HTTP_VERSION'
20
+ HTTPS = 'HTTPS'
21
+ PATH_INFO = 'PATH_INFO'
22
+ REQUEST_METHOD = 'REQUEST_METHOD'
23
+ REQUEST_PATH = 'REQUEST_PATH'
24
+ SCRIPT_NAME = 'SCRIPT_NAME'
25
+ QUERY_STRING = 'QUERY_STRING'
26
+ SERVER_PROTOCOL = 'SERVER_PROTOCOL'
27
+ SERVER_NAME = 'SERVER_NAME'
28
+ SERVER_PORT = 'SERVER_PORT'
29
+ CACHE_CONTROL = 'Cache-Control'
30
+ EXPIRES = 'Expires'
31
+ CONTENT_LENGTH = 'Content-Length'
32
+ CONTENT_TYPE = 'Content-Type'
33
+ SET_COOKIE = 'Set-Cookie'
34
+ TRANSFER_ENCODING = 'Transfer-Encoding'
35
+ HTTP_COOKIE = 'HTTP_COOKIE'
36
+ ETAG = 'ETag'
15
37
 
16
- # Return the Rack protocol version as a dotted string.
17
- def self.version
18
- VERSION.join(".")
19
- end
38
+ # HTTP method verbs
39
+ GET = 'GET'
40
+ POST = 'POST'
41
+ PUT = 'PUT'
42
+ PATCH = 'PATCH'
43
+ DELETE = 'DELETE'
44
+ HEAD = 'HEAD'
45
+ OPTIONS = 'OPTIONS'
46
+ LINK = 'LINK'
47
+ UNLINK = 'UNLINK'
48
+ TRACE = 'TRACE'
20
49
 
21
- # Return the Rack release as a dotted string.
22
- def self.release
23
- "1.6.11"
24
- end
25
- PATH_INFO = 'PATH_INFO'.freeze
26
- REQUEST_METHOD = 'REQUEST_METHOD'.freeze
27
- SCRIPT_NAME = 'SCRIPT_NAME'.freeze
28
- QUERY_STRING = 'QUERY_STRING'.freeze
29
- CACHE_CONTROL = 'Cache-Control'.freeze
30
- CONTENT_LENGTH = 'Content-Length'.freeze
31
- CONTENT_TYPE = 'Content-Type'.freeze
32
-
33
- GET = 'GET'.freeze
34
- HEAD = 'HEAD'.freeze
50
+ # Rack environment variables
51
+ RACK_VERSION = 'rack.version'
52
+ RACK_TEMPFILES = 'rack.tempfiles'
53
+ RACK_ERRORS = 'rack.errors'
54
+ RACK_LOGGER = 'rack.logger'
55
+ RACK_INPUT = 'rack.input'
56
+ RACK_SESSION = 'rack.session'
57
+ RACK_SESSION_OPTIONS = 'rack.session.options'
58
+ RACK_SHOWSTATUS_DETAIL = 'rack.showstatus.detail'
59
+ RACK_MULTITHREAD = 'rack.multithread'
60
+ RACK_MULTIPROCESS = 'rack.multiprocess'
61
+ RACK_RUNONCE = 'rack.run_once'
62
+ RACK_URL_SCHEME = 'rack.url_scheme'
63
+ RACK_HIJACK = 'rack.hijack'
64
+ RACK_IS_HIJACK = 'rack.hijack?'
65
+ RACK_HIJACK_IO = 'rack.hijack_io'
66
+ RACK_RECURSIVE_INCLUDE = 'rack.recursive.include'
67
+ RACK_MULTIPART_BUFFER_SIZE = 'rack.multipart.buffer_size'
68
+ RACK_MULTIPART_TEMPFILE_FACTORY = 'rack.multipart.tempfile_factory'
69
+ RACK_REQUEST_FORM_INPUT = 'rack.request.form_input'
70
+ RACK_REQUEST_FORM_HASH = 'rack.request.form_hash'
71
+ RACK_REQUEST_FORM_VARS = 'rack.request.form_vars'
72
+ RACK_REQUEST_COOKIE_HASH = 'rack.request.cookie_hash'
73
+ RACK_REQUEST_COOKIE_STRING = 'rack.request.cookie_string'
74
+ RACK_REQUEST_QUERY_HASH = 'rack.request.query_hash'
75
+ RACK_REQUEST_QUERY_STRING = 'rack.request.query_string'
76
+ RACK_METHODOVERRIDE_ORIGINAL_METHOD = 'rack.methodoverride.original_method'
77
+ RACK_SESSION_UNPACKED_COOKIE_DATA = 'rack.session.unpacked_cookie_data'
35
78
 
36
79
  autoload :Builder, "rack/builder"
37
80
  autoload :BodyProxy, "rack/body_proxy"
38
81
  autoload :Cascade, "rack/cascade"
39
82
  autoload :Chunked, "rack/chunked"
40
- autoload :CommonLogger, "rack/commonlogger"
41
- autoload :ConditionalGet, "rack/conditionalget"
83
+ autoload :CommonLogger, "rack/common_logger"
84
+ autoload :ConditionalGet, "rack/conditional_get"
42
85
  autoload :Config, "rack/config"
43
86
  autoload :ContentLength, "rack/content_length"
44
87
  autoload :ContentType, "rack/content_type"
45
88
  autoload :ETag, "rack/etag"
89
+ autoload :Events, "rack/events"
46
90
  autoload :File, "rack/file"
91
+ autoload :Files, "rack/files"
47
92
  autoload :Deflater, "rack/deflater"
48
93
  autoload :Directory, "rack/directory"
49
94
  autoload :ForwardRequest, "rack/recursive"
@@ -52,16 +97,18 @@ module Rack
52
97
  autoload :Lint, "rack/lint"
53
98
  autoload :Lock, "rack/lock"
54
99
  autoload :Logger, "rack/logger"
55
- autoload :MethodOverride, "rack/methodoverride"
100
+ autoload :MediaType, "rack/media_type"
101
+ autoload :MethodOverride, "rack/method_override"
56
102
  autoload :Mime, "rack/mime"
57
- autoload :NullLogger, "rack/nulllogger"
103
+ autoload :NullLogger, "rack/null_logger"
58
104
  autoload :Recursive, "rack/recursive"
59
105
  autoload :Reloader, "rack/reloader"
106
+ autoload :RewindableInput, "rack/rewindable_input"
60
107
  autoload :Runtime, "rack/runtime"
61
108
  autoload :Sendfile, "rack/sendfile"
62
109
  autoload :Server, "rack/server"
63
- autoload :ShowExceptions, "rack/showexceptions"
64
- autoload :ShowStatus, "rack/showstatus"
110
+ autoload :ShowExceptions, "rack/show_exceptions"
111
+ autoload :ShowStatus, "rack/show_status"
65
112
  autoload :Static, "rack/static"
66
113
  autoload :TempfileReaper, "rack/tempfile_reaper"
67
114
  autoload :URLMap, "rack/urlmap"
@@ -91,8 +138,4 @@ module Rack
91
138
  autoload :Pool, "rack/session/pool"
92
139
  autoload :Memcache, "rack/session/memcache"
93
140
  end
94
-
95
- module Utils
96
- autoload :OkJson, "rack/utils/okjson"
97
- end
98
141
  end
data/rack.gemspec CHANGED
@@ -1,33 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/rack/version'
4
+
1
5
  Gem::Specification.new do |s|
2
- s.name = "rack"
3
- s.version = "1.6.11"
4
- s.platform = Gem::Platform::RUBY
5
- s.summary = "a modular Ruby webserver interface"
6
- s.license = "MIT"
7
-
8
- s.description = <<-EOF
9
- Rack provides a minimal, modular and adaptable interface for developing
10
- web applications in Ruby. By wrapping HTTP requests and responses in
11
- the simplest way possible, it unifies and distills the API for web
12
- servers, web frameworks, and software in between (the so-called
13
- middleware) into a single method call.
14
-
15
- Also see http://rack.github.io/.
16
- EOF
17
-
18
- s.files = Dir['{bin/*,contrib/*,example/*,lib/**/*,test/**/*}'] +
19
- %w(COPYING KNOWN-ISSUES rack.gemspec Rakefile README.rdoc SPEC)
20
- s.bindir = 'bin'
21
- s.executables << 'rackup'
22
- s.require_path = 'lib'
23
- s.extra_rdoc_files = ['README.rdoc', 'KNOWN-ISSUES', 'HISTORY.md']
24
- s.test_files = Dir['test/spec_*.rb']
25
-
26
- s.author = 'Christian Neukirchen'
27
- s.email = 'chneukirchen@gmail.com'
28
- s.homepage = 'http://rack.github.io/'
29
- s.rubyforge_project = 'rack'
30
-
31
- s.add_development_dependency 'bacon'
6
+ s.name = "rack"
7
+ s.version = Rack::RELEASE
8
+ s.platform = Gem::Platform::RUBY
9
+ s.summary = "A modular Ruby webserver interface."
10
+ s.license = "MIT"
11
+
12
+ s.description = <<~EOF
13
+ Rack provides a minimal, modular and adaptable interface for developing
14
+ web applications in Ruby. By wrapping HTTP requests and responses in
15
+ the simplest way possible, it unifies and distills the API for web
16
+ servers, web frameworks, and software in between (the so-called
17
+ middleware) into a single method call.
18
+ EOF
19
+
20
+ s.files = Dir['{bin/*,contrib/*,example/*,lib/**/*}'] +
21
+ %w(MIT-LICENSE rack.gemspec Rakefile README.rdoc SPEC.rdoc)
22
+
23
+ s.bindir = 'bin'
24
+ s.executables << 'rackup'
25
+ s.require_path = 'lib'
26
+ s.extra_rdoc_files = ['README.rdoc', 'CHANGELOG.md', 'CONTRIBUTING.md']
27
+
28
+ s.author = 'Leah Neukirchen'
29
+ s.email = 'leah@vuxu.org'
30
+
31
+ s.homepage = 'https://github.com/rack/rack'
32
+
33
+ s.required_ruby_version = '>= 2.3.0'
34
+
35
+ s.metadata = {
36
+ "bug_tracker_uri" => "https://github.com/rack/rack/issues",
37
+ "changelog_uri" => "https://github.com/rack/rack/blob/master/CHANGELOG.md",
38
+ "documentation_uri" => "https://rubydoc.info/github/rack/rack",
39
+ "source_code_uri" => "https://github.com/rack/rack"
40
+ }
41
+
42
+ s.add_development_dependency 'minitest', "~> 5.0"
43
+ s.add_development_dependency 'minitest-sprint'
44
+ s.add_development_dependency 'minitest-global_expectations'
32
45
  s.add_development_dependency 'rake'
33
46
  end
metadata CHANGED
@@ -1,17 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.11
4
+ version: 2.2.3
5
5
  platform: ruby
6
6
  authors:
7
- - Christian Neukirchen
8
- autorequire:
7
+ - Leah Neukirchen
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-05 00:00:00.000000000 Z
11
+ date: 2020-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bacon
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest-sprint
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest-global_expectations
15
43
  requirement: !ruby/object:Gem::Requirement
16
44
  requirements:
17
45
  - - ">="
@@ -40,27 +68,25 @@ dependencies:
40
68
  version: '0'
41
69
  description: |
42
70
  Rack provides a minimal, modular and adaptable interface for developing
43
- web applications in Ruby. By wrapping HTTP requests and responses in
71
+ web applications in Ruby. By wrapping HTTP requests and responses in
44
72
  the simplest way possible, it unifies and distills the API for web
45
73
  servers, web frameworks, and software in between (the so-called
46
74
  middleware) into a single method call.
47
-
48
- Also see http://rack.github.io/.
49
- email: chneukirchen@gmail.com
75
+ email: leah@vuxu.org
50
76
  executables:
51
77
  - rackup
52
78
  extensions: []
53
79
  extra_rdoc_files:
54
80
  - README.rdoc
55
- - KNOWN-ISSUES
56
- - HISTORY.md
81
+ - CHANGELOG.md
82
+ - CONTRIBUTING.md
57
83
  files:
58
- - COPYING
59
- - HISTORY.md
60
- - KNOWN-ISSUES
84
+ - CHANGELOG.md
85
+ - CONTRIBUTING.md
86
+ - MIT-LICENSE
61
87
  - README.rdoc
62
88
  - Rakefile
63
- - SPEC
89
+ - SPEC.rdoc
64
90
  - bin/rackup
65
91
  - contrib/rack.png
66
92
  - contrib/rack.svg
@@ -77,30 +103,27 @@ files:
77
103
  - lib/rack/auth/digest/nonce.rb
78
104
  - lib/rack/auth/digest/params.rb
79
105
  - lib/rack/auth/digest/request.rb
80
- - lib/rack/backports/uri/common_18.rb
81
- - lib/rack/backports/uri/common_192.rb
82
- - lib/rack/backports/uri/common_193.rb
83
106
  - lib/rack/body_proxy.rb
84
107
  - lib/rack/builder.rb
85
108
  - lib/rack/cascade.rb
86
109
  - lib/rack/chunked.rb
87
- - lib/rack/commonlogger.rb
88
- - lib/rack/conditionalget.rb
110
+ - lib/rack/common_logger.rb
111
+ - lib/rack/conditional_get.rb
89
112
  - lib/rack/config.rb
90
113
  - lib/rack/content_length.rb
91
114
  - lib/rack/content_type.rb
115
+ - lib/rack/core_ext/regexp.rb
92
116
  - lib/rack/deflater.rb
93
117
  - lib/rack/directory.rb
94
118
  - lib/rack/etag.rb
119
+ - lib/rack/events.rb
95
120
  - lib/rack/file.rb
121
+ - lib/rack/files.rb
96
122
  - lib/rack/handler.rb
97
123
  - lib/rack/handler/cgi.rb
98
- - lib/rack/handler/evented_mongrel.rb
99
124
  - lib/rack/handler/fastcgi.rb
100
125
  - lib/rack/handler/lsws.rb
101
- - lib/rack/handler/mongrel.rb
102
126
  - lib/rack/handler/scgi.rb
103
- - lib/rack/handler/swiftiplied_mongrel.rb
104
127
  - lib/rack/handler/thin.rb
105
128
  - lib/rack/handler/webrick.rb
106
129
  - lib/rack/head.rb
@@ -108,14 +131,16 @@ files:
108
131
  - lib/rack/lobster.rb
109
132
  - lib/rack/lock.rb
110
133
  - lib/rack/logger.rb
111
- - lib/rack/methodoverride.rb
134
+ - lib/rack/media_type.rb
135
+ - lib/rack/method_override.rb
112
136
  - lib/rack/mime.rb
113
137
  - lib/rack/mock.rb
114
138
  - lib/rack/multipart.rb
115
139
  - lib/rack/multipart/generator.rb
116
140
  - lib/rack/multipart/parser.rb
117
141
  - lib/rack/multipart/uploaded_file.rb
118
- - lib/rack/nulllogger.rb
142
+ - lib/rack/null_logger.rb
143
+ - lib/rack/query_parser.rb
119
144
  - lib/rack/recursive.rb
120
145
  - lib/rack/reloader.rb
121
146
  - lib/rack/request.rb
@@ -128,119 +153,23 @@ files:
128
153
  - lib/rack/session/cookie.rb
129
154
  - lib/rack/session/memcache.rb
130
155
  - lib/rack/session/pool.rb
131
- - lib/rack/showexceptions.rb
132
- - lib/rack/showstatus.rb
156
+ - lib/rack/show_exceptions.rb
157
+ - lib/rack/show_status.rb
133
158
  - lib/rack/static.rb
134
159
  - lib/rack/tempfile_reaper.rb
135
160
  - lib/rack/urlmap.rb
136
161
  - lib/rack/utils.rb
137
- - lib/rack/utils/okjson.rb
162
+ - lib/rack/version.rb
138
163
  - rack.gemspec
139
- - test/builder/anything.rb
140
- - test/builder/comment.ru
141
- - test/builder/end.ru
142
- - test/builder/line.ru
143
- - test/builder/options.ru
144
- - test/cgi/assets/folder/test.js
145
- - test/cgi/assets/fonts/font.eot
146
- - test/cgi/assets/images/image.png
147
- - test/cgi/assets/index.html
148
- - test/cgi/assets/javascripts/app.js
149
- - test/cgi/assets/stylesheets/app.css
150
- - test/cgi/lighttpd.conf
151
- - test/cgi/rackup_stub.rb
152
- - test/cgi/sample_rackup.ru
153
- - test/cgi/test
154
- - test/cgi/test+directory/test+file
155
- - test/cgi/test.fcgi
156
- - test/cgi/test.ru
157
- - test/gemloader.rb
158
- - test/multipart/bad_robots
159
- - test/multipart/binary
160
- - test/multipart/content_type_and_no_filename
161
- - test/multipart/empty
162
- - test/multipart/fail_16384_nofile
163
- - test/multipart/file1.txt
164
- - test/multipart/filename_and_modification_param
165
- - test/multipart/filename_and_no_name
166
- - test/multipart/filename_with_escaped_quotes
167
- - test/multipart/filename_with_escaped_quotes_and_modification_param
168
- - test/multipart/filename_with_null_byte
169
- - test/multipart/filename_with_percent_escaped_quotes
170
- - test/multipart/filename_with_unescaped_percentages
171
- - test/multipart/filename_with_unescaped_percentages2
172
- - test/multipart/filename_with_unescaped_percentages3
173
- - test/multipart/filename_with_unescaped_quotes
174
- - test/multipart/ie
175
- - test/multipart/invalid_character
176
- - test/multipart/mixed_files
177
- - test/multipart/nested
178
- - test/multipart/none
179
- - test/multipart/semicolon
180
- - test/multipart/text
181
- - test/multipart/three_files_three_fields
182
- - test/multipart/webkit
183
- - test/rackup/config.ru
184
- - test/registering_handler/rack/handler/registering_myself.rb
185
- - test/spec_auth_basic.rb
186
- - test/spec_auth_digest.rb
187
- - test/spec_body_proxy.rb
188
- - test/spec_builder.rb
189
- - test/spec_cascade.rb
190
- - test/spec_cgi.rb
191
- - test/spec_chunked.rb
192
- - test/spec_commonlogger.rb
193
- - test/spec_conditionalget.rb
194
- - test/spec_config.rb
195
- - test/spec_content_length.rb
196
- - test/spec_content_type.rb
197
- - test/spec_deflater.rb
198
- - test/spec_directory.rb
199
- - test/spec_etag.rb
200
- - test/spec_fastcgi.rb
201
- - test/spec_file.rb
202
- - test/spec_handler.rb
203
- - test/spec_head.rb
204
- - test/spec_lint.rb
205
- - test/spec_lobster.rb
206
- - test/spec_lock.rb
207
- - test/spec_logger.rb
208
- - test/spec_methodoverride.rb
209
- - test/spec_mime.rb
210
- - test/spec_mock.rb
211
- - test/spec_mongrel.rb
212
- - test/spec_multipart.rb
213
- - test/spec_nulllogger.rb
214
- - test/spec_recursive.rb
215
- - test/spec_request.rb
216
- - test/spec_response.rb
217
- - test/spec_rewindable_input.rb
218
- - test/spec_runtime.rb
219
- - test/spec_sendfile.rb
220
- - test/spec_server.rb
221
- - test/spec_session_abstract_id.rb
222
- - test/spec_session_cookie.rb
223
- - test/spec_session_memcache.rb
224
- - test/spec_session_pool.rb
225
- - test/spec_showexceptions.rb
226
- - test/spec_showstatus.rb
227
- - test/spec_static.rb
228
- - test/spec_tempfile_reaper.rb
229
- - test/spec_thin.rb
230
- - test/spec_urlmap.rb
231
- - test/spec_utils.rb
232
- - test/spec_version.rb
233
- - test/spec_webrick.rb
234
- - test/static/another/index.html
235
- - test/static/index.html
236
- - test/testrequest.rb
237
- - test/unregistered_handler/rack/handler/unregistered.rb
238
- - test/unregistered_handler/rack/handler/unregistered_long_one.rb
239
- homepage: http://rack.github.io/
164
+ homepage: https://github.com/rack/rack
240
165
  licenses:
241
166
  - MIT
242
- metadata: {}
243
- post_install_message:
167
+ metadata:
168
+ bug_tracker_uri: https://github.com/rack/rack/issues
169
+ changelog_uri: https://github.com/rack/rack/blob/master/CHANGELOG.md
170
+ documentation_uri: https://rubydoc.info/github/rack/rack
171
+ source_code_uri: https://github.com/rack/rack
172
+ post_install_message:
244
173
  rdoc_options: []
245
174
  require_paths:
246
175
  - lib
@@ -248,65 +177,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
248
177
  requirements:
249
178
  - - ">="
250
179
  - !ruby/object:Gem::Version
251
- version: '0'
180
+ version: 2.3.0
252
181
  required_rubygems_version: !ruby/object:Gem::Requirement
253
182
  requirements:
254
183
  - - ">="
255
184
  - !ruby/object:Gem::Version
256
185
  version: '0'
257
186
  requirements: []
258
- rubyforge_project: rack
259
- rubygems_version: 2.7.6
260
- signing_key:
187
+ rubygems_version: 3.2.0.pre1
188
+ signing_key:
261
189
  specification_version: 4
262
- summary: a modular Ruby webserver interface
263
- test_files:
264
- - test/spec_multipart.rb
265
- - test/spec_deflater.rb
266
- - test/spec_static.rb
267
- - test/spec_session_cookie.rb
268
- - test/spec_commonlogger.rb
269
- - test/spec_session_pool.rb
270
- - test/spec_methodoverride.rb
271
- - test/spec_etag.rb
272
- - test/spec_version.rb
273
- - test/spec_handler.rb
274
- - test/spec_thin.rb
275
- - test/spec_showexceptions.rb
276
- - test/spec_session_abstract_id.rb
277
- - test/spec_mime.rb
278
- - test/spec_recursive.rb
279
- - test/spec_cgi.rb
280
- - test/spec_content_type.rb
281
- - test/spec_request.rb
282
- - test/spec_showstatus.rb
283
- - test/spec_chunked.rb
284
- - test/spec_runtime.rb
285
- - test/spec_fastcgi.rb
286
- - test/spec_builder.rb
287
- - test/spec_config.rb
288
- - test/spec_mongrel.rb
289
- - test/spec_utils.rb
290
- - test/spec_sendfile.rb
291
- - test/spec_lobster.rb
292
- - test/spec_lint.rb
293
- - test/spec_tempfile_reaper.rb
294
- - test/spec_mock.rb
295
- - test/spec_conditionalget.rb
296
- - test/spec_server.rb
297
- - test/spec_directory.rb
298
- - test/spec_webrick.rb
299
- - test/spec_response.rb
300
- - test/spec_file.rb
301
- - test/spec_body_proxy.rb
302
- - test/spec_logger.rb
303
- - test/spec_auth_digest.rb
304
- - test/spec_urlmap.rb
305
- - test/spec_nulllogger.rb
306
- - test/spec_cascade.rb
307
- - test/spec_auth_basic.rb
308
- - test/spec_head.rb
309
- - test/spec_lock.rb
310
- - test/spec_rewindable_input.rb
311
- - test/spec_session_memcache.rb
312
- - test/spec_content_length.rb
190
+ summary: A modular Ruby webserver interface.
191
+ test_files: []