rackup 2.1.0 → 2.2.0
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.
- checksums.yaml +4 -4
- data/lib/rackup/stream.rb +1 -1
- data/lib/rackup/version.rb +1 -1
- data/lib/rackup.rb +1 -4
- data/license.md +11 -9
- data/readme.md +35 -2
- data/releases.md +7 -0
- metadata +66 -91
- data/lib/rack/handler.rb +0 -10
- data/lib/rack/server.rb +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 500a1eebb3f2dc73a7f4e0b50753603f19f4b2c841a55c01c047188ed6d2214f
|
|
4
|
+
data.tar.gz: 7e51b56d52e396e9c208b06c7a25be3389d0df9c55c3c3333f0379e5aec73719
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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,
|
|
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.
|
data/lib/rackup/version.rb
CHANGED
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-
|
|
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
|
|
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
|
|
27
|
+
Copyright, 2013, by Uchio Kondo.
|
|
28
28
|
Copyright, 2013, by Tim Moore.
|
|
29
|
-
Copyright, 2013, by
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
57
|
-
Copyright, 2021, by
|
|
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
|
[](https://github.com/rack/rackup/actions?workflow=Test)
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
9
|
``` bash
|
|
10
|
-
|
|
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
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.
|
|
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:
|
|
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.
|
|
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.
|
|
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
|