puma 2.7.0 → 3.1.1

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.

Files changed (79) hide show
  1. checksums.yaml +5 -13
  2. data/DEPLOYMENT.md +91 -0
  3. data/Gemfile +3 -2
  4. data/History.txt +624 -1
  5. data/Manifest.txt +15 -3
  6. data/README.md +129 -14
  7. data/Rakefile +3 -3
  8. data/bin/puma-wild +31 -0
  9. data/bin/pumactl +1 -1
  10. data/docs/nginx.md +1 -1
  11. data/docs/signals.md +43 -0
  12. data/ext/puma_http11/extconf.rb +7 -2
  13. data/ext/puma_http11/http11_parser.java.rl +5 -5
  14. data/ext/puma_http11/io_buffer.c +1 -1
  15. data/ext/puma_http11/mini_ssl.c +233 -18
  16. data/ext/puma_http11/org/jruby/puma/Http11.java +12 -3
  17. data/ext/puma_http11/org/jruby/puma/Http11Parser.java +39 -39
  18. data/ext/puma_http11/org/jruby/puma/MiniSSL.java +245 -195
  19. data/ext/puma_http11/puma_http11.c +12 -4
  20. data/lib/puma.rb +1 -0
  21. data/lib/puma/app/status.rb +7 -0
  22. data/lib/puma/binder.rb +108 -39
  23. data/lib/puma/capistrano.rb +23 -6
  24. data/lib/puma/cli.rb +141 -446
  25. data/lib/puma/client.rb +48 -1
  26. data/lib/puma/cluster.rb +207 -58
  27. data/lib/puma/commonlogger.rb +107 -0
  28. data/lib/puma/configuration.rb +262 -235
  29. data/lib/puma/const.rb +97 -14
  30. data/lib/puma/control_cli.rb +85 -77
  31. data/lib/puma/convenient.rb +23 -0
  32. data/lib/puma/daemon_ext.rb +11 -4
  33. data/lib/puma/detect.rb +8 -1
  34. data/lib/puma/dsl.rb +456 -0
  35. data/lib/puma/events.rb +35 -18
  36. data/lib/puma/jruby_restart.rb +1 -1
  37. data/lib/puma/launcher.rb +399 -0
  38. data/lib/puma/minissl.rb +49 -20
  39. data/lib/puma/null_io.rb +15 -0
  40. data/lib/puma/plugin.rb +104 -0
  41. data/lib/puma/plugin/tmp_restart.rb +35 -0
  42. data/lib/puma/rack/backports/uri/common_18.rb +56 -0
  43. data/lib/puma/rack/backports/uri/common_192.rb +52 -0
  44. data/lib/puma/rack/backports/uri/common_193.rb +29 -0
  45. data/lib/puma/rack/builder.rb +295 -0
  46. data/lib/puma/rack/urlmap.rb +90 -0
  47. data/lib/puma/reactor.rb +14 -1
  48. data/lib/puma/runner.rb +35 -17
  49. data/lib/puma/server.rb +161 -58
  50. data/lib/puma/single.rb +15 -10
  51. data/lib/puma/state_file.rb +29 -0
  52. data/lib/puma/thread_pool.rb +88 -13
  53. data/lib/puma/util.rb +123 -0
  54. data/lib/rack/handler/puma.rb +35 -29
  55. data/puma.gemspec +2 -4
  56. data/tools/jungle/init.d/README.md +2 -2
  57. data/tools/jungle/init.d/puma +69 -7
  58. data/tools/jungle/upstart/puma.conf +8 -2
  59. metadata +51 -71
  60. data/COPYING +0 -55
  61. data/TODO +0 -5
  62. data/lib/puma/rack_patch.rb +0 -45
  63. data/test/test_app_status.rb +0 -92
  64. data/test/test_cli.rb +0 -173
  65. data/test/test_config.rb +0 -16
  66. data/test/test_http10.rb +0 -27
  67. data/test/test_http11.rb +0 -145
  68. data/test/test_integration.rb +0 -165
  69. data/test/test_iobuffer.rb +0 -38
  70. data/test/test_minissl.rb +0 -25
  71. data/test/test_null_io.rb +0 -31
  72. data/test/test_persistent.rb +0 -238
  73. data/test/test_puma_server.rb +0 -292
  74. data/test/test_rack_handler.rb +0 -10
  75. data/test/test_rack_server.rb +0 -141
  76. data/test/test_tcp_rack.rb +0 -42
  77. data/test/test_thread_pool.rb +0 -156
  78. data/test/test_unix_socket.rb +0 -39
  79. data/test/test_ws.rb +0 -89
data/puma.gemspec CHANGED
@@ -17,12 +17,13 @@ Gem::Specification.new do |s|
17
17
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
18
18
  s.authors = ["Evan Phoenix"]
19
19
  s.date = `git log --pretty="%ai" -n 1`.split(" ").first
20
- s.description = "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. In order to get the best throughput, it is highly recommended that you use a Ruby implementation with real threads like Rubinius or JRuby."
20
+ s.description = "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. It's great for highly concurrent Ruby implementations such as Rubinius and JRuby as well as as providing process worker support to support CRuby well."
21
21
  s.email = ["evan@phx.io"]
22
22
  s.executables = ["puma", "pumactl"]
23
23
  s.extensions = ["ext/puma_http11/extconf.rb"]
24
24
  s.files = `git ls-files`.split($/)
25
25
  s.homepage = "http://puma.io"
26
+ s.license = "BSD-3-Clause"
26
27
  s.rdoc_options = ["--main", "README.md"]
27
28
  s.require_paths = ["lib"]
28
29
  s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
@@ -35,18 +36,15 @@ Gem::Specification.new do |s|
35
36
  s.specification_version = 3
36
37
 
37
38
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
38
- s.add_runtime_dependency(%q<rack>, ["< 2.0", ">= 1.1"])
39
39
  s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
40
40
  s.add_development_dependency(%q<rake-compiler>, ["~> 0.8.0"])
41
41
  s.add_development_dependency(%q<hoe>, ["~> 3.6"])
42
42
  else
43
- s.add_dependency(%q<rack>, ["< 2.0", ">= 1.1"])
44
43
  s.add_dependency(%q<rdoc>, ["~> 4.0"])
45
44
  s.add_dependency(%q<rake-compiler>, ["~> 0.8.0"])
46
45
  s.add_dependency(%q<hoe>, ["~> 3.6"])
47
46
  end
48
47
  else
49
- s.add_dependency(%q<rack>, ["< 2.0", ">= 1.1"])
50
48
  s.add_dependency(%q<rdoc>, ["~> 4.0"])
51
49
  s.add_dependency(%q<rake-compiler>, ["~> 0.8.0"])
52
50
  s.add_dependency(%q<hoe>, ["~> 3.6"])
@@ -26,12 +26,12 @@ Puma apps are held in /etc/puma.conf by default. It's mainly a CSV file and ever
26
26
 
27
27
  You can add an instance by editing the file or running the following command:
28
28
 
29
- sudo /etc/init.d/puma add /path/to/app user /path/to/app/config/puma.rb /path/to/app/config/log/puma.log
29
+ sudo /etc/init.d/puma add /path/to/app user /path/to/app/config/puma.rb /path/to/app/log/puma.log
30
30
 
31
31
  The config and log paths are optional parameters and default to:
32
32
 
33
33
  * config: /path/to/app/*config/puma.rb*
34
- * log: /path/to/app/*config/puma.log*
34
+ * log: /path/to/app/*log/puma.log*
35
35
 
36
36
  To remove an app, simply delete the line from the config file or run:
37
37
 
@@ -23,6 +23,7 @@ SCRIPTNAME=/etc/init.d/$NAME
23
23
  CONFIG=/etc/puma.conf
24
24
  JUNGLE=`cat $CONFIG`
25
25
  RUNPUMA=/usr/local/bin/run-puma
26
+ USE_LOCAL_BUNDLE=0
26
27
 
27
28
  # Load the VERBOSE setting and other rcS variables
28
29
  . /lib/init/vars.sh
@@ -47,7 +48,8 @@ do_start() {
47
48
  if [ "$log_file" = "" ]; then
48
49
  log_file="$dir/log/puma.log"
49
50
  fi
50
- do_start_one $dir $user $config_file $log_file
51
+ environment=`echo $i | cut -d , -f 5`
52
+ do_start_one $dir $user $config_file $log_file $environment
51
53
  done
52
54
  }
53
55
 
@@ -57,12 +59,12 @@ do_start_one() {
57
59
  PID=`cat $PIDFILE`
58
60
  # If the puma isn't running, run it, otherwise restart it.
59
61
  if [ "`ps -A -o pid= | grep -c $PID`" -eq 0 ]; then
60
- do_start_one_do $1 $2 $3 $4
62
+ do_start_one_do $1 $2 $3 $4 $5
61
63
  else
62
64
  do_restart_one $1
63
65
  fi
64
66
  else
65
- do_start_one_do $1 $2 $3 $4
67
+ do_start_one_do $1 $2 $3 $4 $5
66
68
  fi
67
69
  }
68
70
 
@@ -70,6 +72,14 @@ do_start_one_do() {
70
72
  log_daemon_msg "--> Woke up puma $1"
71
73
  log_daemon_msg "user $2"
72
74
  log_daemon_msg "log to $4"
75
+
76
+ if [ ! -z "$5" ]; then
77
+ for e in $(echo "$5" | tr ';' '\n'); do
78
+ log_daemon_msg "environment $e"
79
+ v=${e%%\=*} ; eval "$e" ; export $v
80
+ done
81
+ fi
82
+
73
83
  start-stop-daemon --verbose --start --chdir $1 --chuid $2 --background --exec $RUNPUMA -- $1 $3 $4
74
84
  }
75
85
 
@@ -96,7 +106,11 @@ do_stop_one() {
96
106
  log_daemon_msg "---> Puma $1 isn't running."
97
107
  else
98
108
  log_daemon_msg "---> About to kill PID `cat $PIDFILE`"
99
- pumactl --state $STATEFILE stop
109
+ if [ "$USE_LOCAL_BUNDLE" -eq 1 ]; then
110
+ cd $1 && bundle exec pumactl --state $STATEFILE stop
111
+ else
112
+ pumactl --state $STATEFILE stop
113
+ fi
100
114
  # Many daemons don't delete their pidfiles when they exit.
101
115
  rm -f $PIDFILE $STATEFILE
102
116
  fi
@@ -126,7 +140,11 @@ do_restart_one() {
126
140
 
127
141
  if [ -e $PIDFILE ]; then
128
142
  log_daemon_msg "--> About to restart puma $1"
129
- pumactl --state $dir/tmp/puma/state restart
143
+ if [ "$USE_LOCAL_BUNDLE" -eq 1 ]; then
144
+ cd $1 && bundle exec pumactl --state $dir/tmp/puma/state restart
145
+ else
146
+ pumactl --state $dir/tmp/puma/state restart
147
+ fi
130
148
  # kill -s USR2 `cat $PIDFILE`
131
149
  # TODO Check if process exist
132
150
  else
@@ -140,7 +158,8 @@ do_restart_one() {
140
158
  if [ "$log_file" = "" ]; then
141
159
  log_file="$dir/log/puma.log"
142
160
  fi
143
- do_start_one $dir $user $config_file $log_file
161
+ environment=`echo $i | cut -d , -f 5`
162
+ do_start_one $dir $user $config_file $log_file $environment
144
163
  fi
145
164
  return 0
146
165
  }
@@ -165,7 +184,11 @@ do_status_one() {
165
184
 
166
185
  if [ -e $PIDFILE ]; then
167
186
  log_daemon_msg "--> About to status puma $1"
168
- pumactl --state $dir/tmp/puma/state stats
187
+ if [ "$USE_LOCAL_BUNDLE" -eq 1 ]; then
188
+ cd $1 && bundle exec pumactl --state $dir/tmp/puma/state stats
189
+ else
190
+ pumactl --state $dir/tmp/puma/state stats
191
+ fi
169
192
  # kill -s USR2 `cat $PIDFILE`
170
193
  # TODO Check if process exist
171
194
  else
@@ -209,6 +232,11 @@ do_add() {
209
232
  str="$str,$4"
210
233
  fi
211
234
 
235
+ # Environment variables
236
+ if [ "$5" != "" ]; then
237
+ str="$str,$5"
238
+ fi
239
+
212
240
  # Add it to the jungle
213
241
  echo $str >> $CONFIG
214
242
  log_daemon_msg "Added a Puma to the jungle: $str. You still have to start it though."
@@ -226,6 +254,40 @@ do_remove() {
226
254
  fi
227
255
  }
228
256
 
257
+ config_bundler() {
258
+ HOME="$(eval echo ~$(id -un))"
259
+ if [ -d "/usr/local/rbenv/bin" ]; then
260
+ PATH="/usr/local/rbenv/bin:/usr/local/rbenv/shims:$PATH"
261
+ eval "$(rbenv init -)"
262
+ USE_LOCAL_BUNDLE=1
263
+ return 0
264
+ elif [ -d "$HOME/.rbenv/bin" ]; then
265
+ PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"
266
+ eval "$(rbenv init -)"
267
+ USE_LOCAL_BUNDLE=1
268
+ return 0
269
+ # TODO: test rvm
270
+ # elif [ -f /etc/profile.d/rvm.sh ]; then
271
+ # source /etc/profile.d/rvm.sh
272
+ # elif [ -f /usr/local/rvm/scripts/rvm ]; then
273
+ # source /etc/profile.d/rvm.sh
274
+ # elif [ -f "$HOME/.rvm/scripts/rvm" ]; then
275
+ # source "$HOME/.rvm/scripts/rvm"
276
+ # TODO: don't know what to do with chruby
277
+ # elif [ -f /usr/local/share/chruby/chruby.sh ]; then
278
+ # source /usr/local/share/chruby/chruby.sh
279
+ # if [ -f /usr/local/share/chruby/auto.sh ]; then
280
+ # source /usr/local/share/chruby/auto.sh
281
+ # fi
282
+ # if you aren't using auto, set your version here
283
+ # chruby 2.0.0
284
+ fi
285
+
286
+ return 1
287
+ }
288
+
289
+ config_bundler
290
+
229
291
  case "$1" in
230
292
  start)
231
293
  [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
@@ -34,12 +34,18 @@ script
34
34
  # respawn as bash so we can source in rbenv/rvm
35
35
  # quoted heredoc to tell /bin/sh not to interpret
36
36
  # variables
37
+
38
+ # source ENV variables manually as Upstart doesn't, eg:
39
+ #. /etc/environment
40
+
37
41
  exec /bin/bash <<'EOT'
38
42
  # set HOME to the setuid user's home, there doesn't seem to be a better, portable way
39
43
  export HOME="$(eval echo ~$(id -un))"
40
44
 
41
- if [ -d "$HOME/.rbenv/bin" ]; then
42
- export PATH="$HOME/.rbenv/bin:$PATH"
45
+ if [ -d "/usr/local/rbenv/bin" ]; then
46
+ export PATH="/usr/local/rbenv/bin:/usr/local/rbenv/shims:$PATH"
47
+ elif [ -d "$HOME/.rbenv/bin" ]; then
48
+ export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"
43
49
  elif [ -f /etc/profile.d/rvm.sh ]; then
44
50
  source /etc/profile.d/rvm.sh
45
51
  elif [ -f /usr/local/rvm/scripts/rvm ]; then
metadata CHANGED
@@ -1,77 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puma
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Phoenix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-04 00:00:00.000000000 Z
11
+ date: 2016-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rack
14
+ name: rdoc
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
18
- - !ruby/object:Gem::Version
19
- version: '1.1'
20
- - - <
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '2.0'
23
- type: :runtime
19
+ version: '4.0'
20
+ type: :development
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '1.1'
30
- - - <
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '2.0'
26
+ version: '4.0'
33
27
  - !ruby/object:Gem::Dependency
34
- name: rdoc
28
+ name: rack
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ~>
31
+ - - ">="
38
32
  - !ruby/object:Gem::Version
39
- version: '4.0'
33
+ version: '1.1'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '2.0'
40
37
  type: :development
41
38
  prerelease: false
42
39
  version_requirements: !ruby/object:Gem::Requirement
43
40
  requirements:
44
- - - ~>
41
+ - - ">="
45
42
  - !ruby/object:Gem::Version
46
- version: '4.0'
43
+ version: '1.1'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake-compiler
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ~>
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 0.8.0
53
+ version: '0.8'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ~>
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 0.8.0
60
+ version: '0.8'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: hoe
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ~>
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '3.7'
67
+ version: '3.14'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ~>
72
+ - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.7'
74
+ version: '3.14'
75
75
  description: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
76
76
  for Ruby/Rack applications. Puma is intended for use in both development and production
77
77
  environments. In order to get the best throughput, it is highly recommended that
@@ -84,27 +84,30 @@ executables:
84
84
  extensions:
85
85
  - ext/puma_http11/extconf.rb
86
86
  extra_rdoc_files:
87
+ - DEPLOYMENT.md
87
88
  - History.txt
88
89
  - Manifest.txt
89
90
  - README.md
90
91
  - docs/config.md
91
92
  - docs/nginx.md
93
+ - docs/signals.md
92
94
  - tools/jungle/README.md
93
95
  - tools/jungle/init.d/README.md
94
96
  - tools/jungle/upstart/README.md
95
97
  files:
96
- - COPYING
98
+ - DEPLOYMENT.md
97
99
  - Gemfile
98
100
  - History.txt
99
101
  - LICENSE
100
102
  - Manifest.txt
101
103
  - README.md
102
104
  - Rakefile
103
- - TODO
104
105
  - bin/puma
106
+ - bin/puma-wild
105
107
  - bin/pumactl
106
108
  - docs/config.md
107
109
  - docs/nginx.md
110
+ - docs/signals.md
108
111
  - ext/puma_http11/PumaHttp11Service.java
109
112
  - ext/puma_http11/ext_help.h
110
113
  - ext/puma_http11/extconf.rb
@@ -127,25 +130,36 @@ files:
127
130
  - lib/puma/cli.rb
128
131
  - lib/puma/client.rb
129
132
  - lib/puma/cluster.rb
133
+ - lib/puma/commonlogger.rb
130
134
  - lib/puma/compat.rb
131
135
  - lib/puma/configuration.rb
132
136
  - lib/puma/const.rb
133
137
  - lib/puma/control_cli.rb
138
+ - lib/puma/convenient.rb
134
139
  - lib/puma/daemon_ext.rb
135
140
  - lib/puma/delegation.rb
136
141
  - lib/puma/detect.rb
142
+ - lib/puma/dsl.rb
137
143
  - lib/puma/events.rb
138
144
  - lib/puma/io_buffer.rb
139
145
  - lib/puma/java_io_buffer.rb
140
146
  - lib/puma/jruby_restart.rb
147
+ - lib/puma/launcher.rb
141
148
  - lib/puma/minissl.rb
142
149
  - lib/puma/null_io.rb
150
+ - lib/puma/plugin.rb
151
+ - lib/puma/plugin/tmp_restart.rb
152
+ - lib/puma/rack/backports/uri/common_18.rb
153
+ - lib/puma/rack/backports/uri/common_192.rb
154
+ - lib/puma/rack/backports/uri/common_193.rb
155
+ - lib/puma/rack/builder.rb
156
+ - lib/puma/rack/urlmap.rb
143
157
  - lib/puma/rack_default.rb
144
- - lib/puma/rack_patch.rb
145
158
  - lib/puma/reactor.rb
146
159
  - lib/puma/runner.rb
147
160
  - lib/puma/server.rb
148
161
  - lib/puma/single.rb
162
+ - lib/puma/state_file.rb
149
163
  - lib/puma/tcp_logger.rb
150
164
  - lib/puma/thread_pool.rb
151
165
  - lib/puma/util.rb
@@ -159,65 +173,31 @@ files:
159
173
  - tools/jungle/upstart/puma-manager.conf
160
174
  - tools/jungle/upstart/puma.conf
161
175
  - tools/trickletest.rb
162
- - test/test_app_status.rb
163
- - test/test_cli.rb
164
- - test/test_config.rb
165
- - test/test_http10.rb
166
- - test/test_http11.rb
167
- - test/test_integration.rb
168
- - test/test_iobuffer.rb
169
- - test/test_minissl.rb
170
- - test/test_null_io.rb
171
- - test/test_persistent.rb
172
- - test/test_puma_server.rb
173
- - test/test_rack_handler.rb
174
- - test/test_rack_server.rb
175
- - test/test_tcp_rack.rb
176
- - test/test_thread_pool.rb
177
- - test/test_unix_socket.rb
178
- - test/test_ws.rb
179
176
  homepage: http://puma.io
180
177
  licenses:
181
- - MIT
178
+ - BSD-3-Clause
182
179
  metadata: {}
183
180
  post_install_message:
184
181
  rdoc_options:
185
- - --main
182
+ - "--main"
186
183
  - README.md
187
184
  require_paths:
188
185
  - lib
189
186
  required_ruby_version: !ruby/object:Gem::Requirement
190
187
  requirements:
191
- - - ! '>='
188
+ - - ">="
192
189
  - !ruby/object:Gem::Version
193
190
  version: 1.8.7
194
191
  required_rubygems_version: !ruby/object:Gem::Requirement
195
192
  requirements:
196
- - - ! '>='
193
+ - - ">="
197
194
  - !ruby/object:Gem::Version
198
195
  version: '0'
199
196
  requirements: []
200
- rubyforge_project: puma
201
- rubygems_version: 2.1.11
197
+ rubyforge_project:
198
+ rubygems_version: 2.5.1
202
199
  signing_key:
203
200
  specification_version: 4
204
201
  summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for
205
202
  Ruby/Rack applications
206
- test_files:
207
- - test/test_app_status.rb
208
- - test/test_cli.rb
209
- - test/test_config.rb
210
- - test/test_http10.rb
211
- - test/test_http11.rb
212
- - test/test_integration.rb
213
- - test/test_iobuffer.rb
214
- - test/test_minissl.rb
215
- - test/test_null_io.rb
216
- - test/test_persistent.rb
217
- - test/test_puma_server.rb
218
- - test/test_rack_handler.rb
219
- - test/test_rack_server.rb
220
- - test/test_tcp_rack.rb
221
- - test/test_thread_pool.rb
222
- - test/test_unix_socket.rb
223
- - test/test_ws.rb
203
+ test_files: []