rackup 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0b31e72267a0dc7a7cc3bbe41d06b49ea16ec3612edc7474fe5c99c97e568cf
4
- data.tar.gz: 6b9b9f197c6929bed47b7bb3c81f13f956427e1d078ab2a4b12afc0c4400f881
3
+ metadata.gz: 500a1eebb3f2dc73a7f4e0b50753603f19f4b2c841a55c01c047188ed6d2214f
4
+ data.tar.gz: 7e51b56d52e396e9c208b06c7a25be3389d0df9c55c3c3333f0379e5aec73719
5
5
  SHA512:
6
- metadata.gz: 21aba248befe16cd582ac7c867bc28cecd41155e2f8979e8cecba248e2f1623894c3f943484a85a189d3e2bdec45c836ad8f9f2995a2362809332b1b99dcd3d5
7
- data.tar.gz: 258c30b02fc3d454df9dcd1d6285f0f3b6d592728f856c53e761c37db2a56925bc0a90bf0b3330441c754fddec280501abc13aa2032a120f3ce5917bd38c817f
6
+ metadata.gz: 9aa96ee4990bf4d93f23c4d3d2b16b28c793e9f4fabc2a24a007f241067262168608bcf0e2091368131563dfe9bb4b7fc2845330a75e96c7886b956a12e5f933
7
+ data.tar.gz: 62821749a10a8f337c3f0b4dde6f83fab067c68a1d3864f74a8cd1b28fb62d8be8430a571112ea5f5b60b753ad278140d130ec3f73c3a67f739345b288f73a49
data/lib/rackup/stream.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2019-2022, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  module Rackup
7
7
  # The input stream is an IO-like object which contains the raw HTTP POST data. When applicable, its external encoding must be “ASCII-8BIT” and it must be opened in binary mode, for Ruby 1.9 compatibility. The input stream must respond to gets, each, read and rewind.
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2022-2023, by Samuel Williams.
5
5
 
6
6
  module Rackup
7
- VERSION = "2.1.0"
7
+ VERSION = "2.2.0"
8
8
  end
data/lib/rackup.rb CHANGED
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2022-2023, by Samuel Williams.
4
+ # Copyright, 2022-2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'rackup/handler'
7
7
  require_relative 'rackup/server'
8
8
  require_relative 'rackup/version'
9
-
10
- require_relative 'rackup/handler/webrick'
11
- require_relative 'rackup/handler/cgi'
data/license.md CHANGED
@@ -7,7 +7,7 @@ Copyright, 2009-2010, by Megan Batty.
7
7
  Copyright, 2009-2010, by Michael Fellinger.
8
8
  Copyright, 2009, by Genki Takiuchi.
9
9
  Copyright, 2009, by Joshua Peek.
10
- Copyright, 2009, by Yehuda Katz + Carl Lerche.
10
+ Copyright, 2009, by Yehuda Katz.
11
11
  Copyright, 2009, by Carl Lerche.
12
12
  Copyright, 2010, by Julik Tarkhanov.
13
13
  Copyright, 2010-2016, by James Tucker.
@@ -24,9 +24,9 @@ Copyright, 2012, by Jean Boussier.
24
24
  Copyright, 2012, by Trevor Wennblom.
25
25
  Copyright, 2012, by Anurag Priyam.
26
26
  Copyright, 2012, by Hrvoje Šimić.
27
- Copyright, 2013, by Uchio KONDO.
27
+ Copyright, 2013, by Uchio Kondo.
28
28
  Copyright, 2013, by Tim Moore.
29
- Copyright, 2013, by Postmodern.
29
+ Copyright, 2013, by Hal Brodigan.
30
30
  Copyright, 2013, by Bas Vodde.
31
31
  Copyright, 2013, by Joe Fiorini.
32
32
  Copyright, 2014, by Wyatt Pan.
@@ -34,30 +34,32 @@ Copyright, 2014, by Lenny Marks.
34
34
  Copyright, 2014, by Igor Bochkariov.
35
35
  Copyright, 2014, by Max Cantor.
36
36
  Copyright, 2014, by David Celis.
37
- Copyright, 2014, by Rafael Mendonça França.
37
+ Copyright, 2014-2019, by Rafael França.
38
38
  Copyright, 2014, by Jeremy Kemper.
39
39
  Copyright, 2014, by Richard Schneeman.
40
40
  Copyright, 2015, by Peter Wilmott.
41
41
  Copyright, 2015, by Sean McGivern.
42
42
  Copyright, 2015, by Tadashi Saito.
43
- Copyright, 2015, by deepj.
43
+ Copyright, 2015, by Martin Hrdlicka.
44
44
  Copyright, 2015, by Zachary Scott.
45
45
  Copyright, 2016, by Sophie Deziel.
46
46
  Copyright, 2016, by Kazuya Hotta.
47
47
  Copyright, 2017, by Ryunosuke Sato.
48
- Copyright, 2017-2023, by Samuel Williams.
48
+ Copyright, 2017-2024, by Samuel Williams.
49
49
  Copyright, 2018, by Dillon Welch.
50
50
  Copyright, 2018, by Yoshiyuki Hirano.
51
51
  Copyright, 2018, by Nick LaMuro.
52
- Copyright, 2019, by Rafael França.
53
52
  Copyright, 2019, by Krzysztof Rybka.
54
53
  Copyright, 2019, by Misaki Shioi.
55
54
  Copyright, 2020-2022, by Jeremy Evans.
56
- Copyright, 2021, by Katsuhiko YOSHIDA.
57
- Copyright, 2021, by KS.
55
+ Copyright, 2021, by Katsuhiko Yoshida.
56
+ Copyright, 2021, by Kang Sheng.
58
57
  Copyright, 2021, by Stephen Paul Weber.
59
58
  Copyright, 2022, by Akira Matsuda.
60
59
  Copyright, 2022, by Andrew Hoglund.
60
+ Copyright, 2024, by Olle Jonsson.
61
+ Copyright, 2024, by Geremia Taglialatela.
62
+ Copyright, 2024, by Petrik de Heus.
61
63
 
62
64
  Permission is hereby granted, free of charge, to any person obtaining a copy
63
65
  of this software and associated documentation files (the "Software"), to deal
data/readme.md CHANGED
@@ -1,13 +1,17 @@
1
1
  # Rackup
2
2
 
3
- `rackup` provides a command line interface for running a Rack-compatible application.
3
+ `rackup` provides a command line interface for running a Rack-compatible application. It also provides a generic interface for starting a `rack`-compatible server: `Rackup::Handler`. It is not designed for production use.
4
4
 
5
5
  [![Development Status](https://github.com/rack/rackup/workflows/Test/badge.svg)](https://github.com/rack/rackup/actions?workflow=Test)
6
6
 
7
7
  ## Installation
8
8
 
9
9
  ``` bash
10
- $ gem install rackup
10
+ -- For Puma
11
+ $ gem install rackup puma
12
+
13
+ -- For Falcon
14
+ $ gem install rackup falcon
11
15
  ```
12
16
 
13
17
  ## Usage
@@ -20,6 +24,35 @@ $ rackup
20
24
 
21
25
  Your application should now be available locally, typically `http://localhost:9292`.
22
26
 
27
+ ## (Soft) Deprecation
28
+
29
+ For a long time, `rackup` (the executable and implementation) was part of `rack`, and `webrick` was the default server, included with Ruby. It made it easy to run a Rack application without having to worry about the details of the server - great for documentation and demos.
30
+
31
+ When `webrick` was removed from the Ruby standard library, `rack` started depending on `webrick` as a default server. Every web application and server would pull in `webrick` as a dependency, even if it was not used. To avoid this, the `rackup` component of `rack` was moved to this gem, which depended on `webrick`.
32
+
33
+ However, many libraries (e.g. `rails`) still depend on `rackup` and end up pulling in `webrick` as a dependency. To avoid this, the decision was made to cut `webrick` as a dependency of `rackup`. This means that `rackup` no longer depends on `webrick`, and you need to install it separately if you want to use it.
34
+
35
+ As a consequence of this, the value of the `rackup` gem is further diminished. In other words, why would you do this:
36
+
37
+ ``` bash
38
+ $ gem install rackup puma
39
+ $ rackup ...
40
+ ```
41
+
42
+ when you can do this:
43
+
44
+ ``` bash
45
+ $ gem install puma
46
+ $ puma ...
47
+ ```
48
+
49
+ In summary, the maintainers of `rack` recommend the following:
50
+
51
+ - Libraries should not depend on `rackup` if possible. `rackup` as an executable made sense when webrick shipped with Ruby, so there was always a fallback. But that hasn't been true since Ruby 3.0.
52
+ - Frameworks and applications should focus on providing `config.ru` files, so that users can use the webserver program of their choice directly (e.g. puma, falcon).
53
+ - There is still some value in the generic `rackup` and `Rackup::Handler` interfaces, but we encourage users to invoke the server command directly if possible.
54
+ - Webrick should be avoided if possible.
55
+
23
56
  ## Contributing
24
57
 
25
58
  We welcome contributions to this project.
data/releases.md ADDED
@@ -0,0 +1,7 @@
1
+ # Releases
2
+
3
+ All notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference [Keep A Changelog](https://keepachangelog.com/en/1.0.0/).
4
+
5
+ ## v2.2.0
6
+
7
+ - Remove old rack shims.
metadata CHANGED
@@ -1,15 +1,73 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rackup
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
+ - James Tucker
9
+ - Leah Neukirchen
8
10
  - Jeremy Evans
11
+ - Joshua Peek
12
+ - Megan Batty
13
+ - Rafael França
14
+ - Anurag Priyam
15
+ - Max Cantor
16
+ - Michael Fellinger
17
+ - Sophie Deziel
18
+ - Yoshiyuki Hirano
19
+ - Aaron Patterson
20
+ - Jean Boussier
21
+ - Katsuhiko Yoshida
22
+ - Konstantin Haase
23
+ - Krzysztof Rybka
24
+ - Martin Hrdlicka
25
+ - Nick LaMuro
26
+ - Aaron Pfeifer
27
+ - Akira Matsuda
28
+ - Andrew Bortz
29
+ - Andrew Hoglund
30
+ - Bas Vodde
31
+ - Blake Mizerany
32
+ - Carl Lerche
33
+ - David Celis
34
+ - Dillon Welch
35
+ - Genki Takiuchi
36
+ - Geremia Taglialatela
37
+ - Hal Brodigan
38
+ - Hrvoje Šimić
39
+ - Igor Bochkariov
40
+ - Jeremy Kemper
41
+ - Joe Fiorini
42
+ - John Barnette
43
+ - John Sumsion
44
+ - Julik Tarkhanov
45
+ - Kang Sheng
46
+ - Kazuya Hotta
47
+ - Lenny Marks
48
+ - Loren Segal
49
+ - Marc-André Cournoyer
50
+ - Misaki Shioi
51
+ - Olle Jonsson
52
+ - Peter Wilmott
53
+ - Petrik de Heus
54
+ - Richard Schneeman
55
+ - Ryunosuke Sato
56
+ - Sean McGivern
57
+ - Stephen Paul Weber
58
+ - Tadashi Saito
59
+ - Tim Moore
60
+ - Timur Batyrshin
61
+ - Trevor Wennblom
62
+ - Tsutomu Kuroda
63
+ - Uchio Kondo
64
+ - Wyatt Pan
65
+ - Yehuda Katz
66
+ - Zachary Scott
9
67
  autorequire:
10
68
  bindir: bin
11
69
  cert_chain: []
12
- date: 2023-01-27 00:00:00.000000000 Z
70
+ date: 2024-11-02 00:00:00.000000000 Z
13
71
  dependencies:
14
72
  - !ruby/object:Gem::Dependency
15
73
  name: rack
@@ -25,90 +83,6 @@ dependencies:
25
83
  - - ">="
26
84
  - !ruby/object:Gem::Version
27
85
  version: '3'
28
- - !ruby/object:Gem::Dependency
29
- name: webrick
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: '1.8'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '1.8'
42
- - !ruby/object:Gem::Dependency
43
- name: bundler
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: '0'
49
- type: :development
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
- - !ruby/object:Gem::Dependency
57
- name: minitest
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '5.0'
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '5.0'
70
- - !ruby/object:Gem::Dependency
71
- name: minitest-global_expectations
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- - !ruby/object:Gem::Dependency
85
- name: minitest-sprint
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: '0'
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: '0'
98
- - !ruby/object:Gem::Dependency
99
- name: rake
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '0'
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '0'
112
86
  description:
113
87
  email:
114
88
  executables:
@@ -117,8 +91,6 @@ extensions: []
117
91
  extra_rdoc_files: []
118
92
  files:
119
93
  - bin/rackup
120
- - lib/rack/handler.rb
121
- - lib/rack/server.rb
122
94
  - lib/rackup.rb
123
95
  - lib/rackup/handler.rb
124
96
  - lib/rackup/handler/cgi.rb
@@ -129,11 +101,14 @@ files:
129
101
  - lib/rackup/version.rb
130
102
  - license.md
131
103
  - readme.md
104
+ - releases.md
132
105
  - security.md
133
106
  homepage: https://github.com/rack/rackup
134
107
  licenses:
135
108
  - MIT
136
- metadata: {}
109
+ metadata:
110
+ rubygems_mfa_required: 'true'
111
+ source_code_uri: https://github.com/rack/rackup.git
137
112
  post_install_message:
138
113
  rdoc_options: []
139
114
  require_paths:
@@ -142,14 +117,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
117
  requirements:
143
118
  - - ">="
144
119
  - !ruby/object:Gem::Version
145
- version: 2.4.0
120
+ version: '2.5'
146
121
  required_rubygems_version: !ruby/object:Gem::Requirement
147
122
  requirements:
148
123
  - - ">="
149
124
  - !ruby/object:Gem::Version
150
125
  version: '0'
151
126
  requirements: []
152
- rubygems_version: 3.4.1
127
+ rubygems_version: 3.5.11
153
128
  signing_key:
154
129
  specification_version: 4
155
130
  summary: A general server command for Rack applications.
data/lib/rack/handler.rb DELETED
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Released under the MIT License.
4
- # Copyright, 2022-2023, by Samuel Williams.
5
-
6
- warn "Rack::Handler is deprecated and replaced by Rackup::Handler"
7
- require_relative '../rackup/handler'
8
- module Rack
9
- Handler = ::Rackup::Handler
10
- end
data/lib/rack/server.rb DELETED
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Released under the MIT License.
4
- # Copyright, 2022-2023, by Samuel Williams.
5
-
6
- warn "Rack::Server is deprecated and replaced by Rackup::Server"
7
- require_relative '../rackup/server'
8
- module Rack
9
- Server = ::Rackup::Server
10
- end