puma 4.1.1 → 4.3.6
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puma might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/History.md +71 -10
- data/README.md +8 -37
- data/docs/plugins.md +20 -10
- data/docs/tcp_mode.md +96 -0
- data/ext/puma_http11/extconf.rb +5 -0
- data/ext/puma_http11/http11_parser.c +40 -63
- data/ext/puma_http11/http11_parser.java.rl +21 -37
- data/ext/puma_http11/http11_parser.rl +3 -1
- data/ext/puma_http11/http11_parser_common.rl +3 -3
- data/ext/puma_http11/org/jruby/puma/Http11.java +106 -114
- data/ext/puma_http11/org/jruby/puma/Http11Parser.java +91 -106
- data/ext/puma_http11/puma_http11.c +3 -0
- data/lib/puma.rb +6 -0
- data/lib/puma/app/status.rb +33 -30
- data/lib/puma/binder.rb +38 -70
- data/lib/puma/cli.rb +4 -0
- data/lib/puma/client.rb +202 -206
- data/lib/puma/cluster.rb +13 -12
- data/lib/puma/const.rb +23 -18
- data/lib/puma/control_cli.rb +20 -3
- data/lib/puma/dsl.rb +19 -1
- data/lib/puma/launcher.rb +87 -46
- data/lib/puma/minissl/context_builder.rb +76 -0
- data/lib/puma/plugin.rb +5 -2
- data/lib/puma/reactor.rb +7 -5
- data/lib/puma/runner.rb +10 -3
- data/lib/puma/server.rb +68 -12
- data/lib/puma/thread_pool.rb +10 -32
- data/lib/rack/handler/puma.rb +0 -2
- data/tools/docker/Dockerfile +16 -0
- data/tools/trickletest.rb +0 -1
- metadata +10 -9
- data/lib/puma/convenient.rb +0 -25
- data/lib/puma/daemon_ext.rb +0 -33
- data/lib/puma/delegation.rb +0 -13
@@ -0,0 +1,16 @@
|
|
1
|
+
# Use this Dockerfile to create minimal reproductions of issues
|
2
|
+
|
3
|
+
FROM ruby:2.6
|
4
|
+
|
5
|
+
# throw errors if Gemfile has been modified since Gemfile.lock
|
6
|
+
RUN bundle config --global frozen 1
|
7
|
+
|
8
|
+
WORKDIR /usr/src/app
|
9
|
+
|
10
|
+
COPY . .
|
11
|
+
RUN gem install bundler
|
12
|
+
RUN bundle install
|
13
|
+
RUN bundle exec rake compile
|
14
|
+
|
15
|
+
EXPOSE 9292
|
16
|
+
CMD bundle exec bin/puma test/rackup/hello.ru
|
data/tools/trickletest.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Phoenix
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nio4r
|
@@ -53,6 +53,7 @@ files:
|
|
53
53
|
- docs/restart.md
|
54
54
|
- docs/signals.md
|
55
55
|
- docs/systemd.md
|
56
|
+
- docs/tcp_mode.md
|
56
57
|
- ext/puma_http11/PumaHttp11Service.java
|
57
58
|
- ext/puma_http11/ext_help.h
|
58
59
|
- ext/puma_http11/extconf.rb
|
@@ -79,9 +80,6 @@ files:
|
|
79
80
|
- lib/puma/configuration.rb
|
80
81
|
- lib/puma/const.rb
|
81
82
|
- lib/puma/control_cli.rb
|
82
|
-
- lib/puma/convenient.rb
|
83
|
-
- lib/puma/daemon_ext.rb
|
84
|
-
- lib/puma/delegation.rb
|
85
83
|
- lib/puma/detect.rb
|
86
84
|
- lib/puma/dsl.rb
|
87
85
|
- lib/puma/events.rb
|
@@ -89,6 +87,7 @@ files:
|
|
89
87
|
- lib/puma/jruby_restart.rb
|
90
88
|
- lib/puma/launcher.rb
|
91
89
|
- lib/puma/minissl.rb
|
90
|
+
- lib/puma/minissl/context_builder.rb
|
92
91
|
- lib/puma/null_io.rb
|
93
92
|
- lib/puma/plugin.rb
|
94
93
|
- lib/puma/plugin/tmp_restart.rb
|
@@ -104,6 +103,7 @@ files:
|
|
104
103
|
- lib/puma/thread_pool.rb
|
105
104
|
- lib/puma/util.rb
|
106
105
|
- lib/rack/handler/puma.rb
|
106
|
+
- tools/docker/Dockerfile
|
107
107
|
- tools/jungle/README.md
|
108
108
|
- tools/jungle/init.d/README.md
|
109
109
|
- tools/jungle/init.d/puma
|
@@ -120,7 +120,8 @@ licenses:
|
|
120
120
|
- BSD-3-Clause
|
121
121
|
metadata:
|
122
122
|
msys2_mingw_dependencies: openssl
|
123
|
-
|
123
|
+
changelog_uri: https://github.com/puma/puma/blob/master/History.md
|
124
|
+
post_install_message:
|
124
125
|
rdoc_options: []
|
125
126
|
require_paths:
|
126
127
|
- lib
|
@@ -135,8 +136,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
136
|
- !ruby/object:Gem::Version
|
136
137
|
version: '0'
|
137
138
|
requirements: []
|
138
|
-
rubygems_version: 3.
|
139
|
-
signing_key:
|
139
|
+
rubygems_version: 3.1.2
|
140
|
+
signing_key:
|
140
141
|
specification_version: 4
|
141
142
|
summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for
|
142
143
|
Ruby/Rack applications
|
data/lib/puma/convenient.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'puma/launcher'
|
4
|
-
require 'puma/configuration'
|
5
|
-
|
6
|
-
module Puma
|
7
|
-
def self.run(opts={})
|
8
|
-
cfg = Puma::Configuration.new do |user_config|
|
9
|
-
if port = opts[:port]
|
10
|
-
user_config.port port
|
11
|
-
end
|
12
|
-
|
13
|
-
user_config.quiet
|
14
|
-
|
15
|
-
yield c
|
16
|
-
end
|
17
|
-
|
18
|
-
cfg.clamp
|
19
|
-
|
20
|
-
events = Puma::Events.null
|
21
|
-
|
22
|
-
launcher = Puma::Launcher.new cfg, :events => events
|
23
|
-
launcher.run
|
24
|
-
end
|
25
|
-
end
|
data/lib/puma/daemon_ext.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Process
|
4
|
-
|
5
|
-
# This overrides the default version because it is broken if it
|
6
|
-
# exists.
|
7
|
-
|
8
|
-
if respond_to? :daemon
|
9
|
-
class << self
|
10
|
-
remove_method :daemon
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.daemon(nochdir=false, noclose=false)
|
15
|
-
exit if fork # Parent exits, child continues.
|
16
|
-
|
17
|
-
Process.setsid # Become session leader.
|
18
|
-
|
19
|
-
exit if fork # Zap session leader. See [1].
|
20
|
-
|
21
|
-
Dir.chdir "/" unless nochdir # Release old working directory.
|
22
|
-
|
23
|
-
if !noclose
|
24
|
-
STDIN.reopen File.open("/dev/null", "r")
|
25
|
-
|
26
|
-
null_out = File.open "/dev/null", "w"
|
27
|
-
STDOUT.reopen null_out
|
28
|
-
STDERR.reopen null_out
|
29
|
-
end
|
30
|
-
|
31
|
-
0
|
32
|
-
end
|
33
|
-
end
|