rack 2.1.4.4 → 2.2.17

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +713 -10
  3. data/CONTRIBUTING.md +136 -0
  4. data/README.rdoc +109 -38
  5. data/Rakefile +14 -7
  6. data/{SPEC → SPEC.rdoc} +35 -6
  7. data/lib/rack/auth/abstract/request.rb +0 -2
  8. data/lib/rack/auth/basic.rb +4 -5
  9. data/lib/rack/auth/digest/md5.rb +4 -4
  10. data/lib/rack/auth/digest/nonce.rb +2 -3
  11. data/lib/rack/auth/digest/request.rb +3 -3
  12. data/lib/rack/body_proxy.rb +13 -9
  13. data/lib/rack/builder.rb +77 -8
  14. data/lib/rack/cascade.rb +23 -8
  15. data/lib/rack/chunked.rb +48 -23
  16. data/lib/rack/common_logger.rb +27 -19
  17. data/lib/rack/conditional_get.rb +18 -16
  18. data/lib/rack/content_length.rb +6 -7
  19. data/lib/rack/content_type.rb +3 -4
  20. data/lib/rack/deflater.rb +45 -35
  21. data/lib/rack/directory.rb +77 -60
  22. data/lib/rack/etag.rb +4 -3
  23. data/lib/rack/events.rb +15 -18
  24. data/lib/rack/file.rb +1 -1
  25. data/lib/rack/files.rb +96 -56
  26. data/lib/rack/handler/cgi.rb +1 -4
  27. data/lib/rack/handler/fastcgi.rb +1 -3
  28. data/lib/rack/handler/lsws.rb +1 -3
  29. data/lib/rack/handler/scgi.rb +1 -3
  30. data/lib/rack/handler/thin.rb +1 -3
  31. data/lib/rack/handler/webrick.rb +12 -5
  32. data/lib/rack/head.rb +0 -2
  33. data/lib/rack/lint.rb +211 -179
  34. data/lib/rack/lobster.rb +3 -5
  35. data/lib/rack/lock.rb +0 -1
  36. data/lib/rack/media_type.rb +17 -7
  37. data/lib/rack/method_override.rb +1 -1
  38. data/lib/rack/mock.rb +54 -7
  39. data/lib/rack/multipart/generator.rb +11 -6
  40. data/lib/rack/multipart/parser.rb +17 -17
  41. data/lib/rack/multipart/uploaded_file.rb +13 -7
  42. data/lib/rack/multipart.rb +1 -1
  43. data/lib/rack/query_parser.rb +62 -16
  44. data/lib/rack/recursive.rb +1 -1
  45. data/lib/rack/reloader.rb +1 -3
  46. data/lib/rack/request.rb +184 -78
  47. data/lib/rack/response.rb +62 -19
  48. data/lib/rack/rewindable_input.rb +0 -1
  49. data/lib/rack/runtime.rb +3 -3
  50. data/lib/rack/sendfile.rb +1 -4
  51. data/lib/rack/server.rb +9 -8
  52. data/lib/rack/session/abstract/id.rb +21 -18
  53. data/lib/rack/session/cookie.rb +4 -6
  54. data/lib/rack/session/pool.rb +7 -2
  55. data/lib/rack/show_exceptions.rb +6 -8
  56. data/lib/rack/show_status.rb +5 -7
  57. data/lib/rack/static.rb +15 -7
  58. data/lib/rack/tempfile_reaper.rb +0 -2
  59. data/lib/rack/urlmap.rb +2 -5
  60. data/lib/rack/utils.rb +69 -58
  61. data/lib/rack/version.rb +29 -0
  62. data/lib/rack.rb +7 -16
  63. data/rack.gemspec +31 -29
  64. metadata +12 -16
@@ -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.17"
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
@@ -11,23 +11,11 @@
11
11
  # All modules meant for use in your application are <tt>autoload</tt>ed here,
12
12
  # so it should be enough just to <tt>require 'rack'</tt> in your code.
13
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.1.4.4"
24
-
25
- # Return the Rack release as a dotted string.
26
- def self.release
27
- RELEASE
28
- end
14
+ require_relative 'rack/version'
29
15
 
16
+ module Rack
30
17
  HTTP_HOST = 'HTTP_HOST'
18
+ HTTP_PORT = 'HTTP_PORT'
31
19
  HTTP_VERSION = 'HTTP_VERSION'
32
20
  HTTPS = 'HTTPS'
33
21
  PATH_INFO = 'PATH_INFO'
@@ -37,9 +25,9 @@ module Rack
37
25
  QUERY_STRING = 'QUERY_STRING'
38
26
  SERVER_PROTOCOL = 'SERVER_PROTOCOL'
39
27
  SERVER_NAME = 'SERVER_NAME'
40
- SERVER_ADDR = 'SERVER_ADDR'
41
28
  SERVER_PORT = 'SERVER_PORT'
42
29
  CACHE_CONTROL = 'Cache-Control'
30
+ EXPIRES = 'Expires'
43
31
  CONTENT_LENGTH = 'Content-Length'
44
32
  CONTENT_TYPE = 'Content-Type'
45
33
  SET_COOKIE = 'Set-Cookie'
@@ -98,6 +86,7 @@ module Rack
98
86
  autoload :ContentLength, "rack/content_length"
99
87
  autoload :ContentType, "rack/content_type"
100
88
  autoload :ETag, "rack/etag"
89
+ autoload :Events, "rack/events"
101
90
  autoload :File, "rack/file"
102
91
  autoload :Files, "rack/files"
103
92
  autoload :Deflater, "rack/deflater"
@@ -108,11 +97,13 @@ module Rack
108
97
  autoload :Lint, "rack/lint"
109
98
  autoload :Lock, "rack/lock"
110
99
  autoload :Logger, "rack/logger"
100
+ autoload :MediaType, "rack/media_type"
111
101
  autoload :MethodOverride, "rack/method_override"
112
102
  autoload :Mime, "rack/mime"
113
103
  autoload :NullLogger, "rack/null_logger"
114
104
  autoload :Recursive, "rack/recursive"
115
105
  autoload :Reloader, "rack/reloader"
106
+ autoload :RewindableInput, "rack/rewindable_input"
116
107
  autoload :Runtime, "rack/runtime"
117
108
  autoload :Sendfile, "rack/sendfile"
118
109
  autoload :Server, "rack/server"
data/rack.gemspec CHANGED
@@ -1,39 +1,41 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative 'lib/rack/version'
4
+
3
5
  Gem::Specification.new do |s|
4
6
  s.name = "rack"
5
- s.version = File.read('lib/rack.rb')[/RELEASE += +([\"\'])([\d][\w\.]+)\1/, 2]
6
- s.platform = Gem::Platform::RUBY
7
- s.summary = "a modular Ruby webserver interface"
8
- s.license = "MIT"
9
-
10
- s.description = <<-EOF
11
- Rack provides a minimal, modular and adaptable interface for developing
12
- web applications in Ruby. By wrapping HTTP requests and responses in
13
- the simplest way possible, it unifies and distills the API for web
14
- servers, web frameworks, and software in between (the so-called
15
- middleware) into a single method call.
16
-
17
- Also see https://rack.github.io/.
18
- EOF
19
-
20
- s.files = Dir['{bin/*,contrib/*,example/*,lib/**/*}'] +
21
- %w(MIT-LICENSE rack.gemspec Rakefile README.rdoc SPEC)
22
- s.bindir = 'bin'
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'
23
24
  s.executables << 'rackup'
24
25
  s.require_path = 'lib'
25
- s.extra_rdoc_files = ['README.rdoc', 'CHANGELOG.md']
26
-
27
- s.author = 'Leah Neukirchen'
28
- s.email = 'leah@vuxu.org'
29
- s.homepage = 'https://rack.github.io/'
30
- s.required_ruby_version = '>= 2.2.2'
31
- s.metadata = {
32
- "bug_tracker_uri" => "https://github.com/rack/rack/issues",
33
- "changelog_uri" => "https://github.com/rack/rack/blob/master/CHANGELOG.md",
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",
34
38
  "documentation_uri" => "https://rubydoc.info/github/rack/rack",
35
- "homepage_uri" => "https://rack.github.io",
36
- "mailing_list_uri" => "https://groups.google.com/forum/#!forum/rack-devel",
37
39
  "source_code_uri" => "https://github.com/rack/rack"
38
40
  }
39
41
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4.4
4
+ version: 2.2.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leah Neukirchen
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-02-21 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: minitest
@@ -68,25 +67,25 @@ dependencies:
68
67
  version: '0'
69
68
  description: |
70
69
  Rack provides a minimal, modular and adaptable interface for developing
71
- web applications in Ruby. By wrapping HTTP requests and responses in
70
+ web applications in Ruby. By wrapping HTTP requests and responses in
72
71
  the simplest way possible, it unifies and distills the API for web
73
72
  servers, web frameworks, and software in between (the so-called
74
73
  middleware) into a single method call.
75
-
76
- Also see https://rack.github.io/.
77
74
  email: leah@vuxu.org
78
75
  executables:
79
76
  - rackup
80
77
  extensions: []
81
78
  extra_rdoc_files:
82
- - README.rdoc
83
79
  - CHANGELOG.md
80
+ - CONTRIBUTING.md
81
+ - README.rdoc
84
82
  files:
85
83
  - CHANGELOG.md
84
+ - CONTRIBUTING.md
86
85
  - MIT-LICENSE
87
86
  - README.rdoc
88
87
  - Rakefile
89
- - SPEC
88
+ - SPEC.rdoc
90
89
  - bin/rackup
91
90
  - contrib/rack.png
92
91
  - contrib/rack.svg
@@ -159,18 +158,16 @@ files:
159
158
  - lib/rack/tempfile_reaper.rb
160
159
  - lib/rack/urlmap.rb
161
160
  - lib/rack/utils.rb
161
+ - lib/rack/version.rb
162
162
  - rack.gemspec
163
- homepage: https://rack.github.io/
163
+ homepage: https://github.com/rack/rack
164
164
  licenses:
165
165
  - MIT
166
166
  metadata:
167
167
  bug_tracker_uri: https://github.com/rack/rack/issues
168
168
  changelog_uri: https://github.com/rack/rack/blob/master/CHANGELOG.md
169
169
  documentation_uri: https://rubydoc.info/github/rack/rack
170
- homepage_uri: https://rack.github.io
171
- mailing_list_uri: https://groups.google.com/forum/#!forum/rack-devel
172
170
  source_code_uri: https://github.com/rack/rack
173
- post_install_message:
174
171
  rdoc_options: []
175
172
  require_paths:
176
173
  - lib
@@ -178,15 +175,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
175
  requirements:
179
176
  - - ">="
180
177
  - !ruby/object:Gem::Version
181
- version: 2.2.2
178
+ version: 2.3.0
182
179
  required_rubygems_version: !ruby/object:Gem::Requirement
183
180
  requirements:
184
181
  - - ">="
185
182
  - !ruby/object:Gem::Version
186
183
  version: '0'
187
184
  requirements: []
188
- rubygems_version: 3.4.10
189
- signing_key:
185
+ rubygems_version: 3.7.0.dev
190
186
  specification_version: 4
191
- summary: a modular Ruby webserver interface
187
+ summary: A modular Ruby webserver interface.
192
188
  test_files: []