puma-simon 3.7.1

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.
Files changed (157) hide show
  1. checksums.yaml +7 -0
  2. data/.github/issue_template.md +20 -0
  3. data/.gitignore +18 -0
  4. data/.hoeignore +12 -0
  5. data/.travis.yml +29 -0
  6. data/DEPLOYMENT.md +91 -0
  7. data/Gemfile +12 -0
  8. data/History.md +1254 -0
  9. data/LICENSE +26 -0
  10. data/Manifest.txt +78 -0
  11. data/README.md +353 -0
  12. data/Rakefile +158 -0
  13. data/Release.md +9 -0
  14. data/bin/puma +10 -0
  15. data/bin/puma-wild +31 -0
  16. data/bin/pumactl +12 -0
  17. data/docs/nginx.md +80 -0
  18. data/docs/signals.md +43 -0
  19. data/docs/systemd.md +197 -0
  20. data/examples/CA/cacert.pem +23 -0
  21. data/examples/CA/newcerts/cert_1.pem +19 -0
  22. data/examples/CA/newcerts/cert_2.pem +19 -0
  23. data/examples/CA/private/cakeypair.pem +30 -0
  24. data/examples/CA/serial +1 -0
  25. data/examples/config.rb +200 -0
  26. data/examples/plugins/redis_stop_puma.rb +46 -0
  27. data/examples/puma/cert_puma.pem +19 -0
  28. data/examples/puma/client-certs/ca.crt +19 -0
  29. data/examples/puma/client-certs/ca.key +27 -0
  30. data/examples/puma/client-certs/client.crt +19 -0
  31. data/examples/puma/client-certs/client.key +27 -0
  32. data/examples/puma/client-certs/client_expired.crt +19 -0
  33. data/examples/puma/client-certs/client_expired.key +27 -0
  34. data/examples/puma/client-certs/client_unknown.crt +19 -0
  35. data/examples/puma/client-certs/client_unknown.key +27 -0
  36. data/examples/puma/client-certs/generate.rb +78 -0
  37. data/examples/puma/client-certs/keystore.jks +0 -0
  38. data/examples/puma/client-certs/server.crt +19 -0
  39. data/examples/puma/client-certs/server.key +27 -0
  40. data/examples/puma/client-certs/server.p12 +0 -0
  41. data/examples/puma/client-certs/unknown_ca.crt +19 -0
  42. data/examples/puma/client-certs/unknown_ca.key +27 -0
  43. data/examples/puma/csr_puma.pem +11 -0
  44. data/examples/puma/keystore.jks +0 -0
  45. data/examples/puma/puma_keypair.pem +15 -0
  46. data/examples/qc_config.rb +13 -0
  47. data/ext/puma_http11/PumaHttp11Service.java +17 -0
  48. data/ext/puma_http11/ext_help.h +15 -0
  49. data/ext/puma_http11/extconf.rb +15 -0
  50. data/ext/puma_http11/http11_parser.c +1069 -0
  51. data/ext/puma_http11/http11_parser.h +65 -0
  52. data/ext/puma_http11/http11_parser.java.rl +161 -0
  53. data/ext/puma_http11/http11_parser.rl +147 -0
  54. data/ext/puma_http11/http11_parser_common.rl +54 -0
  55. data/ext/puma_http11/io_buffer.c +155 -0
  56. data/ext/puma_http11/mini_ssl.c +457 -0
  57. data/ext/puma_http11/org/jruby/puma/Http11.java +234 -0
  58. data/ext/puma_http11/org/jruby/puma/Http11Parser.java +473 -0
  59. data/ext/puma_http11/org/jruby/puma/MiniSSL.java +339 -0
  60. data/ext/puma_http11/puma_http11.c +500 -0
  61. data/gemfiles/2.1-Gemfile +12 -0
  62. data/lib/puma.rb +15 -0
  63. data/lib/puma/accept_nonblock.rb +23 -0
  64. data/lib/puma/app/status.rb +66 -0
  65. data/lib/puma/binder.rb +402 -0
  66. data/lib/puma/cli.rb +220 -0
  67. data/lib/puma/client.rb +434 -0
  68. data/lib/puma/cluster.rb +510 -0
  69. data/lib/puma/commonlogger.rb +106 -0
  70. data/lib/puma/compat.rb +14 -0
  71. data/lib/puma/configuration.rb +364 -0
  72. data/lib/puma/const.rb +224 -0
  73. data/lib/puma/control_cli.rb +259 -0
  74. data/lib/puma/convenient.rb +23 -0
  75. data/lib/puma/daemon_ext.rb +31 -0
  76. data/lib/puma/delegation.rb +11 -0
  77. data/lib/puma/detect.rb +13 -0
  78. data/lib/puma/dsl.rb +486 -0
  79. data/lib/puma/events.rb +152 -0
  80. data/lib/puma/io_buffer.rb +7 -0
  81. data/lib/puma/java_io_buffer.rb +45 -0
  82. data/lib/puma/jruby_restart.rb +83 -0
  83. data/lib/puma/launcher.rb +410 -0
  84. data/lib/puma/minissl.rb +221 -0
  85. data/lib/puma/null_io.rb +42 -0
  86. data/lib/puma/plugin.rb +115 -0
  87. data/lib/puma/plugin/tmp_restart.rb +35 -0
  88. data/lib/puma/rack/backports/uri/common_193.rb +33 -0
  89. data/lib/puma/rack/builder.rb +298 -0
  90. data/lib/puma/rack/urlmap.rb +91 -0
  91. data/lib/puma/rack_default.rb +7 -0
  92. data/lib/puma/reactor.rb +210 -0
  93. data/lib/puma/runner.rb +171 -0
  94. data/lib/puma/server.rb +949 -0
  95. data/lib/puma/single.rb +112 -0
  96. data/lib/puma/state_file.rb +29 -0
  97. data/lib/puma/tcp_logger.rb +39 -0
  98. data/lib/puma/thread_pool.rb +297 -0
  99. data/lib/puma/util.rb +128 -0
  100. data/lib/rack/handler/puma.rb +78 -0
  101. data/puma.gemspec +52 -0
  102. data/test/ab_rs.rb +22 -0
  103. data/test/config.rb +2 -0
  104. data/test/config/app.rb +9 -0
  105. data/test/config/plugin.rb +1 -0
  106. data/test/config/settings.rb +2 -0
  107. data/test/config/state_file_testing_config.rb +14 -0
  108. data/test/hello-bind.ru +2 -0
  109. data/test/hello-delay.ru +3 -0
  110. data/test/hello-map.ru +3 -0
  111. data/test/hello-post.ru +4 -0
  112. data/test/hello-stuck.ru +1 -0
  113. data/test/hello-tcp.ru +5 -0
  114. data/test/hello.ru +1 -0
  115. data/test/hijack.ru +6 -0
  116. data/test/hijack2.ru +5 -0
  117. data/test/lobster.ru +4 -0
  118. data/test/shell/run.sh +24 -0
  119. data/test/shell/t1.rb +19 -0
  120. data/test/shell/t1_conf.rb +3 -0
  121. data/test/shell/t2.rb +17 -0
  122. data/test/shell/t2_conf.rb +6 -0
  123. data/test/shell/t3.rb +25 -0
  124. data/test/shell/t3_conf.rb +5 -0
  125. data/test/slow.ru +4 -0
  126. data/test/ssl_config.rb +4 -0
  127. data/test/test_app_status.rb +93 -0
  128. data/test/test_binder.rb +31 -0
  129. data/test/test_cli.rb +209 -0
  130. data/test/test_config.rb +95 -0
  131. data/test/test_events.rb +161 -0
  132. data/test/test_helper.rb +50 -0
  133. data/test/test_http10.rb +27 -0
  134. data/test/test_http11.rb +186 -0
  135. data/test/test_integration.rb +247 -0
  136. data/test/test_iobuffer.rb +39 -0
  137. data/test/test_minissl.rb +29 -0
  138. data/test/test_null_io.rb +49 -0
  139. data/test/test_persistent.rb +245 -0
  140. data/test/test_puma_server.rb +626 -0
  141. data/test/test_puma_server_ssl.rb +222 -0
  142. data/test/test_rack_handler.rb +57 -0
  143. data/test/test_rack_server.rb +138 -0
  144. data/test/test_tcp_logger.rb +39 -0
  145. data/test/test_tcp_rack.rb +36 -0
  146. data/test/test_thread_pool.rb +250 -0
  147. data/test/test_unix_socket.rb +35 -0
  148. data/test/test_web_server.rb +88 -0
  149. data/tools/jungle/README.md +9 -0
  150. data/tools/jungle/init.d/README.md +59 -0
  151. data/tools/jungle/init.d/puma +421 -0
  152. data/tools/jungle/init.d/run-puma +18 -0
  153. data/tools/jungle/upstart/README.md +61 -0
  154. data/tools/jungle/upstart/puma-manager.conf +31 -0
  155. data/tools/jungle/upstart/puma.conf +69 -0
  156. data/tools/trickletest.rb +45 -0
  157. metadata +297 -0
@@ -0,0 +1,31 @@
1
+ # /etc/init/puma-manager.conf - manage a set of Pumas
2
+
3
+ # This example config should work with Ubuntu 12.04+. It
4
+ # allows you to manage multiple Puma instances with
5
+ # Upstart, Ubuntu's native service management tool.
6
+ #
7
+ # See puma.conf for how to manage a single Puma instance.
8
+ #
9
+ # Use "stop puma-manager" to stop all Puma instances.
10
+ # Use "start puma-manager" to start all instances.
11
+ # Use "restart puma-manager" to restart all instances.
12
+ # Crazy, right?
13
+ #
14
+
15
+ description "Manages the set of puma processes"
16
+
17
+ # This starts upon bootup and stops on shutdown
18
+ start on runlevel [2345]
19
+ stop on runlevel [06]
20
+
21
+ # Set this to the number of Puma processes you want
22
+ # to run on this machine
23
+ env PUMA_CONF="/etc/puma.conf"
24
+
25
+ pre-start script
26
+ for i in `cat $PUMA_CONF`; do
27
+ app=`echo $i | cut -d , -f 1`
28
+ logger -t "puma-manager" "Starting $app"
29
+ start puma app=$app
30
+ done
31
+ end script
@@ -0,0 +1,69 @@
1
+ # /etc/init/puma.conf - Puma config
2
+
3
+ # This example config should work with Ubuntu 12.04+. It
4
+ # allows you to manage multiple Puma instances with
5
+ # Upstart, Ubuntu's native service management tool.
6
+ #
7
+ # See puma-manager.conf for how to manage all Puma instances at once.
8
+ #
9
+ # Save this config as /etc/init/puma.conf then manage puma with:
10
+ # sudo start puma app=PATH_TO_APP
11
+ # sudo stop puma app=PATH_TO_APP
12
+ # sudo status puma app=PATH_TO_APP
13
+ #
14
+ # or use the service command:
15
+ # sudo service puma {start,stop,restart,status}
16
+ #
17
+
18
+ description "Puma Background Worker"
19
+
20
+ # no "start on", we don't want to automatically start
21
+ stop on (stopping puma-manager or runlevel [06])
22
+
23
+ # change apps to match your deployment user if you want to use this as a less privileged user (recommended!)
24
+ setuid apps
25
+ setgid apps
26
+
27
+ respawn
28
+ respawn limit 3 30
29
+
30
+ instance ${app}
31
+
32
+ script
33
+ # this script runs in /bin/sh by default
34
+ # respawn as bash so we can source in rbenv/rvm
35
+ # quoted heredoc to tell /bin/sh not to interpret
36
+ # variables
37
+
38
+ # source ENV variables manually as Upstart doesn't, eg:
39
+ #. /etc/environment
40
+
41
+ exec /bin/bash <<'EOT'
42
+ # set HOME to the setuid user's home, there doesn't seem to be a better, portable way
43
+ export HOME="$(eval echo ~$(id -un))"
44
+
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"
49
+ elif [ -f /etc/profile.d/rvm.sh ]; then
50
+ source /etc/profile.d/rvm.sh
51
+ elif [ -f /usr/local/rvm/scripts/rvm ]; then
52
+ source /etc/profile.d/rvm.sh
53
+ elif [ -f "$HOME/.rvm/scripts/rvm" ]; then
54
+ source "$HOME/.rvm/scripts/rvm"
55
+ elif [ -f /usr/local/share/chruby/chruby.sh ]; then
56
+ source /usr/local/share/chruby/chruby.sh
57
+ if [ -f /usr/local/share/chruby/auto.sh ]; then
58
+ source /usr/local/share/chruby/auto.sh
59
+ fi
60
+ # if you aren't using auto, set your version here
61
+ # chruby 2.0.0
62
+ fi
63
+
64
+ cd $app
65
+ logger -t puma "Starting server: $app"
66
+
67
+ exec bundle exec puma -C config/puma.rb
68
+ EOT
69
+ end script
@@ -0,0 +1,45 @@
1
+ require 'socket'
2
+ require 'stringio'
3
+
4
+ def do_test(st, chunk)
5
+ s = TCPSocket.new('127.0.0.1',ARGV[0].to_i);
6
+ req = StringIO.new(st)
7
+ nout = 0
8
+ randstop = rand(st.length / 10)
9
+ STDERR.puts "stopping after: #{randstop}"
10
+
11
+ begin
12
+ while data = req.read(chunk)
13
+ nout += s.write(data)
14
+ s.flush
15
+ sleep 0.1
16
+ if nout > randstop
17
+ STDERR.puts "BANG! after #{nout} bytes."
18
+ break
19
+ end
20
+ end
21
+ rescue Object => e
22
+ STDERR.puts "ERROR: #{e}"
23
+ ensure
24
+ s.close
25
+ end
26
+ end
27
+
28
+ content = "-" * (1024 * 240)
29
+ st = "GET / HTTP/1.1\r\nHost: www.zedshaw.com\r\nContent-Type: text/plain\r\nContent-Length: #{content.length}\r\n\r\n#{content}"
30
+
31
+ puts "length: #{content.length}"
32
+
33
+ threads = []
34
+ ARGV[1].to_i.times do
35
+ t = Thread.new do
36
+ size = 100
37
+ puts ">>>> #{size} sized chunks"
38
+ do_test(st, size)
39
+ end
40
+
41
+ t.abort_on_exception = true
42
+ threads << t
43
+ end
44
+
45
+ threads.each {|t| t.join}
metadata ADDED
@@ -0,0 +1,297 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: puma-simon
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.7.1
5
+ platform: ruby
6
+ authors:
7
+ - Evan Phoenix
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-02-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rdoc
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake-compiler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.8.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.8.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: hoe
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.6'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.6'
55
+ description: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
56
+ for Ruby/Rack applications. Puma is intended for use in both development and production
57
+ environments. It's great for highly concurrent Ruby implementations such as Rubinius
58
+ and JRuby as well as as providing process worker support to support CRuby well.
59
+ email:
60
+ - evan@phx.io
61
+ executables:
62
+ - puma
63
+ - pumactl
64
+ extensions:
65
+ - ext/puma_http11/extconf.rb
66
+ extra_rdoc_files: []
67
+ files:
68
+ - ".github/issue_template.md"
69
+ - ".gitignore"
70
+ - ".hoeignore"
71
+ - ".travis.yml"
72
+ - DEPLOYMENT.md
73
+ - Gemfile
74
+ - History.md
75
+ - LICENSE
76
+ - Manifest.txt
77
+ - README.md
78
+ - Rakefile
79
+ - Release.md
80
+ - bin/puma
81
+ - bin/puma-wild
82
+ - bin/pumactl
83
+ - docs/nginx.md
84
+ - docs/signals.md
85
+ - docs/systemd.md
86
+ - examples/CA/cacert.pem
87
+ - examples/CA/newcerts/cert_1.pem
88
+ - examples/CA/newcerts/cert_2.pem
89
+ - examples/CA/private/cakeypair.pem
90
+ - examples/CA/serial
91
+ - examples/config.rb
92
+ - examples/plugins/redis_stop_puma.rb
93
+ - examples/puma/cert_puma.pem
94
+ - examples/puma/client-certs/ca.crt
95
+ - examples/puma/client-certs/ca.key
96
+ - examples/puma/client-certs/client.crt
97
+ - examples/puma/client-certs/client.key
98
+ - examples/puma/client-certs/client_expired.crt
99
+ - examples/puma/client-certs/client_expired.key
100
+ - examples/puma/client-certs/client_unknown.crt
101
+ - examples/puma/client-certs/client_unknown.key
102
+ - examples/puma/client-certs/generate.rb
103
+ - examples/puma/client-certs/keystore.jks
104
+ - examples/puma/client-certs/server.crt
105
+ - examples/puma/client-certs/server.key
106
+ - examples/puma/client-certs/server.p12
107
+ - examples/puma/client-certs/unknown_ca.crt
108
+ - examples/puma/client-certs/unknown_ca.key
109
+ - examples/puma/csr_puma.pem
110
+ - examples/puma/keystore.jks
111
+ - examples/puma/puma_keypair.pem
112
+ - examples/qc_config.rb
113
+ - ext/puma_http11/PumaHttp11Service.java
114
+ - ext/puma_http11/ext_help.h
115
+ - ext/puma_http11/extconf.rb
116
+ - ext/puma_http11/http11_parser.c
117
+ - ext/puma_http11/http11_parser.h
118
+ - ext/puma_http11/http11_parser.java.rl
119
+ - ext/puma_http11/http11_parser.rl
120
+ - ext/puma_http11/http11_parser_common.rl
121
+ - ext/puma_http11/io_buffer.c
122
+ - ext/puma_http11/mini_ssl.c
123
+ - ext/puma_http11/org/jruby/puma/Http11.java
124
+ - ext/puma_http11/org/jruby/puma/Http11Parser.java
125
+ - ext/puma_http11/org/jruby/puma/MiniSSL.java
126
+ - ext/puma_http11/puma_http11.c
127
+ - gemfiles/2.1-Gemfile
128
+ - lib/puma.rb
129
+ - lib/puma/accept_nonblock.rb
130
+ - lib/puma/app/status.rb
131
+ - lib/puma/binder.rb
132
+ - lib/puma/cli.rb
133
+ - lib/puma/client.rb
134
+ - lib/puma/cluster.rb
135
+ - lib/puma/commonlogger.rb
136
+ - lib/puma/compat.rb
137
+ - lib/puma/configuration.rb
138
+ - lib/puma/const.rb
139
+ - lib/puma/control_cli.rb
140
+ - lib/puma/convenient.rb
141
+ - lib/puma/daemon_ext.rb
142
+ - lib/puma/delegation.rb
143
+ - lib/puma/detect.rb
144
+ - lib/puma/dsl.rb
145
+ - lib/puma/events.rb
146
+ - lib/puma/io_buffer.rb
147
+ - lib/puma/java_io_buffer.rb
148
+ - lib/puma/jruby_restart.rb
149
+ - lib/puma/launcher.rb
150
+ - lib/puma/minissl.rb
151
+ - lib/puma/null_io.rb
152
+ - lib/puma/plugin.rb
153
+ - lib/puma/plugin/tmp_restart.rb
154
+ - lib/puma/rack/backports/uri/common_193.rb
155
+ - lib/puma/rack/builder.rb
156
+ - lib/puma/rack/urlmap.rb
157
+ - lib/puma/rack_default.rb
158
+ - lib/puma/reactor.rb
159
+ - lib/puma/runner.rb
160
+ - lib/puma/server.rb
161
+ - lib/puma/single.rb
162
+ - lib/puma/state_file.rb
163
+ - lib/puma/tcp_logger.rb
164
+ - lib/puma/thread_pool.rb
165
+ - lib/puma/util.rb
166
+ - lib/rack/handler/puma.rb
167
+ - puma.gemspec
168
+ - test/ab_rs.rb
169
+ - test/config.rb
170
+ - test/config/app.rb
171
+ - test/config/plugin.rb
172
+ - test/config/settings.rb
173
+ - test/config/state_file_testing_config.rb
174
+ - test/hello-bind.ru
175
+ - test/hello-delay.ru
176
+ - test/hello-map.ru
177
+ - test/hello-post.ru
178
+ - test/hello-stuck.ru
179
+ - test/hello-tcp.ru
180
+ - test/hello.ru
181
+ - test/hijack.ru
182
+ - test/hijack2.ru
183
+ - test/lobster.ru
184
+ - test/shell/run.sh
185
+ - test/shell/t1.rb
186
+ - test/shell/t1_conf.rb
187
+ - test/shell/t2.rb
188
+ - test/shell/t2_conf.rb
189
+ - test/shell/t3.rb
190
+ - test/shell/t3_conf.rb
191
+ - test/slow.ru
192
+ - test/ssl_config.rb
193
+ - test/test_app_status.rb
194
+ - test/test_binder.rb
195
+ - test/test_cli.rb
196
+ - test/test_config.rb
197
+ - test/test_events.rb
198
+ - test/test_helper.rb
199
+ - test/test_http10.rb
200
+ - test/test_http11.rb
201
+ - test/test_integration.rb
202
+ - test/test_iobuffer.rb
203
+ - test/test_minissl.rb
204
+ - test/test_null_io.rb
205
+ - test/test_persistent.rb
206
+ - test/test_puma_server.rb
207
+ - test/test_puma_server_ssl.rb
208
+ - test/test_rack_handler.rb
209
+ - test/test_rack_server.rb
210
+ - test/test_tcp_logger.rb
211
+ - test/test_tcp_rack.rb
212
+ - test/test_thread_pool.rb
213
+ - test/test_unix_socket.rb
214
+ - test/test_web_server.rb
215
+ - tools/jungle/README.md
216
+ - tools/jungle/init.d/README.md
217
+ - tools/jungle/init.d/puma
218
+ - tools/jungle/init.d/run-puma
219
+ - tools/jungle/upstart/README.md
220
+ - tools/jungle/upstart/puma-manager.conf
221
+ - tools/jungle/upstart/puma.conf
222
+ - tools/trickletest.rb
223
+ homepage: http://puma.io
224
+ licenses:
225
+ - BSD-3-Clause
226
+ metadata: {}
227
+ post_install_message:
228
+ rdoc_options:
229
+ - "--main"
230
+ - README.md
231
+ require_paths:
232
+ - lib
233
+ required_ruby_version: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: 1.9.3
238
+ required_rubygems_version: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ requirements: []
244
+ rubyforge_project: puma
245
+ rubygems_version: 2.6.10
246
+ signing_key:
247
+ specification_version: 3
248
+ summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for
249
+ Ruby/Rack applications
250
+ test_files:
251
+ - test/ab_rs.rb
252
+ - test/config.rb
253
+ - test/config/app.rb
254
+ - test/config/plugin.rb
255
+ - test/config/settings.rb
256
+ - test/config/state_file_testing_config.rb
257
+ - test/hello-bind.ru
258
+ - test/hello-delay.ru
259
+ - test/hello-map.ru
260
+ - test/hello-post.ru
261
+ - test/hello-stuck.ru
262
+ - test/hello-tcp.ru
263
+ - test/hello.ru
264
+ - test/hijack.ru
265
+ - test/hijack2.ru
266
+ - test/lobster.ru
267
+ - test/shell/run.sh
268
+ - test/shell/t1.rb
269
+ - test/shell/t1_conf.rb
270
+ - test/shell/t2.rb
271
+ - test/shell/t2_conf.rb
272
+ - test/shell/t3.rb
273
+ - test/shell/t3_conf.rb
274
+ - test/slow.ru
275
+ - test/ssl_config.rb
276
+ - test/test_app_status.rb
277
+ - test/test_binder.rb
278
+ - test/test_cli.rb
279
+ - test/test_config.rb
280
+ - test/test_events.rb
281
+ - test/test_helper.rb
282
+ - test/test_http10.rb
283
+ - test/test_http11.rb
284
+ - test/test_integration.rb
285
+ - test/test_iobuffer.rb
286
+ - test/test_minissl.rb
287
+ - test/test_null_io.rb
288
+ - test/test_persistent.rb
289
+ - test/test_puma_server.rb
290
+ - test/test_puma_server_ssl.rb
291
+ - test/test_rack_handler.rb
292
+ - test/test_rack_server.rb
293
+ - test/test_tcp_logger.rb
294
+ - test/test_tcp_rack.rb
295
+ - test/test_thread_pool.rb
296
+ - test/test_unix_socket.rb
297
+ - test/test_web_server.rb