puma 6.6.1 → 7.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/History.md +224 -4
- data/README.md +34 -34
- data/docs/deployment.md +58 -23
- data/docs/fork_worker.md +5 -5
- data/docs/jungle/README.md +1 -1
- data/docs/kubernetes.md +11 -16
- data/docs/plugins.md +2 -2
- data/docs/restart.md +2 -2
- data/docs/signals.md +19 -19
- data/docs/stats.md +4 -3
- data/docs/systemd.md +3 -3
- data/ext/puma_http11/extconf.rb +2 -17
- data/ext/puma_http11/mini_ssl.c +18 -8
- data/ext/puma_http11/org/jruby/puma/Http11.java +9 -1
- data/ext/puma_http11/puma_http11.c +122 -118
- data/lib/puma/app/status.rb +10 -2
- data/lib/puma/binder.rb +10 -8
- data/lib/puma/cli.rb +3 -5
- data/lib/puma/client.rb +52 -56
- data/lib/puma/cluster/worker.rb +17 -17
- data/lib/puma/cluster/worker_handle.rb +38 -7
- data/lib/puma/cluster.rb +23 -23
- data/lib/puma/cluster_accept_loop_delay.rb +91 -0
- data/lib/puma/commonlogger.rb +3 -3
- data/lib/puma/configuration.rb +104 -51
- data/lib/puma/const.rb +9 -10
- data/lib/puma/control_cli.rb +6 -2
- data/lib/puma/detect.rb +2 -0
- data/lib/puma/dsl.rb +149 -91
- data/lib/puma/error_logger.rb +3 -1
- data/lib/puma/events.rb +25 -10
- data/lib/puma/io_buffer.rb +8 -4
- data/lib/puma/launcher/bundle_pruner.rb +1 -1
- data/lib/puma/launcher.rb +54 -49
- data/lib/puma/minissl.rb +0 -1
- data/lib/puma/plugin/systemd.rb +3 -3
- data/lib/puma/rack/urlmap.rb +1 -1
- data/lib/puma/reactor.rb +19 -13
- data/lib/puma/request.rb +42 -31
- data/lib/puma/runner.rb +9 -18
- data/lib/puma/server.rb +114 -64
- data/lib/puma/single.rb +6 -3
- data/lib/puma/state_file.rb +3 -2
- data/lib/puma/thread_pool.rb +47 -82
- data/lib/puma/util.rb +0 -7
- data/lib/puma.rb +10 -0
- data/lib/rack/handler/puma.rb +2 -2
- data/tools/Dockerfile +13 -5
- metadata +6 -5
- data/ext/puma_http11/ext_help.h +0 -15
data/tools/Dockerfile
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
# Use this Dockerfile to create minimal reproductions of issues
|
|
2
|
+
# Build (MRI): docker build -f tools/Dockerfile .
|
|
3
|
+
# Build (JRuby): docker build -f tools/Dockerfile --build-arg RUBY_IMAGE=jruby:9.4 .
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
ARG RUBY_IMAGE=ruby:latest
|
|
6
|
+
FROM ${RUBY_IMAGE}
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
# Set BUNDLE_FROZEN=false if you need to update Gemfile.lock during a build.
|
|
9
|
+
ARG BUNDLE_FROZEN=true
|
|
6
10
|
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
RUN apt-get update \
|
|
12
|
+
&& apt-get install -y --no-install-recommends ragel procps git \
|
|
13
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
14
|
+
|
|
15
|
+
# Only freeze Bundler and compile native extensions when using MRI.
|
|
16
|
+
RUN if [ "$(ruby -e 'print RUBY_ENGINE')" = "ruby" ] && [ "${BUNDLE_FROZEN}" = "true" ]; then bundle config --global frozen 1; fi
|
|
9
17
|
|
|
10
18
|
WORKDIR /usr/src/app
|
|
11
19
|
|
|
12
20
|
COPY . .
|
|
13
21
|
|
|
14
22
|
RUN bundle install
|
|
15
|
-
RUN bundle exec rake compile
|
|
23
|
+
RUN if [ "$(ruby -e 'print RUBY_ENGINE')" = "ruby" ]; then bundle exec rake compile; fi
|
|
16
24
|
|
|
17
25
|
EXPOSE 9292
|
|
18
26
|
CMD ["bundle", "exec", "bin/puma", "test/rackup/hello.ru"]
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: puma
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 7.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Evan Phoenix
|
|
@@ -66,7 +66,6 @@ files:
|
|
|
66
66
|
- docs/testing_benchmarks_local_files.md
|
|
67
67
|
- docs/testing_test_rackup_ci_files.md
|
|
68
68
|
- ext/puma_http11/PumaHttp11Service.java
|
|
69
|
-
- ext/puma_http11/ext_help.h
|
|
70
69
|
- ext/puma_http11/extconf.rb
|
|
71
70
|
- ext/puma_http11/http11_parser.c
|
|
72
71
|
- ext/puma_http11/http11_parser.h
|
|
@@ -87,6 +86,7 @@ files:
|
|
|
87
86
|
- lib/puma/cluster.rb
|
|
88
87
|
- lib/puma/cluster/worker.rb
|
|
89
88
|
- lib/puma/cluster/worker_handle.rb
|
|
89
|
+
- lib/puma/cluster_accept_loop_delay.rb
|
|
90
90
|
- lib/puma/commonlogger.rb
|
|
91
91
|
- lib/puma/configuration.rb
|
|
92
92
|
- lib/puma/const.rb
|
|
@@ -127,10 +127,11 @@ licenses:
|
|
|
127
127
|
- BSD-3-Clause
|
|
128
128
|
metadata:
|
|
129
129
|
bug_tracker_uri: https://github.com/puma/puma/issues
|
|
130
|
-
changelog_uri: https://github.com/puma/puma/blob/
|
|
130
|
+
changelog_uri: https://github.com/puma/puma/blob/main/History.md
|
|
131
131
|
homepage_uri: https://puma.io
|
|
132
132
|
source_code_uri: https://github.com/puma/puma
|
|
133
133
|
rubygems_mfa_required: 'true'
|
|
134
|
+
msys2_mingw_dependencies: openssl
|
|
134
135
|
rdoc_options: []
|
|
135
136
|
require_paths:
|
|
136
137
|
- lib
|
|
@@ -138,14 +139,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
138
139
|
requirements:
|
|
139
140
|
- - ">="
|
|
140
141
|
- !ruby/object:Gem::Version
|
|
141
|
-
version: '
|
|
142
|
+
version: '3.0'
|
|
142
143
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
144
|
requirements:
|
|
144
145
|
- - ">="
|
|
145
146
|
- !ruby/object:Gem::Version
|
|
146
147
|
version: '0'
|
|
147
148
|
requirements: []
|
|
148
|
-
rubygems_version:
|
|
149
|
+
rubygems_version: 4.0.3
|
|
149
150
|
specification_version: 4
|
|
150
151
|
summary: A Ruby/Rack web server built for parallelism.
|
|
151
152
|
test_files: []
|
data/ext/puma_http11/ext_help.h
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#ifndef ext_help_h
|
|
2
|
-
#define ext_help_h
|
|
3
|
-
|
|
4
|
-
#define RAISE_NOT_NULL(T) if(T == NULL) rb_raise(rb_eArgError, "%s", "NULL found for " # T " when shouldn't be.");
|
|
5
|
-
#define DATA_GET(from,type,data_type,name) TypedData_Get_Struct(from,type,data_type,name); RAISE_NOT_NULL(name);
|
|
6
|
-
#define REQUIRE_TYPE(V, T) if(TYPE(V) != T) rb_raise(rb_eTypeError, "%s", "Wrong argument type for " # V " required " # T);
|
|
7
|
-
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
|
|
8
|
-
|
|
9
|
-
#ifdef DEBUG
|
|
10
|
-
#define TRACE() fprintf(stderr, "> %s:%d:%s\n", __FILE__, __LINE__, __FUNCTION__)
|
|
11
|
-
#else
|
|
12
|
-
#define TRACE()
|
|
13
|
-
#endif
|
|
14
|
-
|
|
15
|
-
#endif
|