rainbows 3.0.0 → 3.1.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.
- data/.wrongdoc.yml +2 -2
- data/Documentation/comparison.haml +6 -6
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +16 -128
- data/README +2 -3
- data/Rakefile +3 -3
- data/examples/reverse_proxy.ru +9 -0
- data/lib/rainbows.rb +14 -6
- data/lib/rainbows/base.rb +0 -1
- data/lib/rainbows/const.rb +1 -10
- data/lib/rainbows/coolio/client.rb +8 -4
- data/lib/rainbows/coolio/core.rb +0 -3
- data/lib/rainbows/coolio/thread_client.rb +2 -2
- data/lib/rainbows/coolio_fiber_spawn.rb +6 -6
- data/lib/rainbows/dev_fd_response.rb +16 -9
- data/lib/rainbows/epoll.rb +43 -0
- data/lib/rainbows/epoll/client.rb +232 -0
- data/lib/rainbows/epoll/response_chunk_pipe.rb +18 -0
- data/lib/rainbows/epoll/response_pipe.rb +32 -0
- data/lib/rainbows/epoll/server.rb +31 -0
- data/lib/rainbows/error.rb +1 -9
- data/lib/rainbows/ev_core.rb +12 -12
- data/lib/rainbows/ev_core/cap_input.rb +1 -1
- data/lib/rainbows/event_machine.rb +0 -6
- data/lib/rainbows/event_machine/client.rb +3 -3
- data/lib/rainbows/event_machine/response_chunk_pipe.rb +5 -7
- data/lib/rainbows/event_machine/response_pipe.rb +7 -8
- data/lib/rainbows/fiber/base.rb +2 -2
- data/lib/rainbows/fiber/io.rb +21 -63
- data/lib/rainbows/fiber/io/methods.rb +1 -1
- data/lib/rainbows/http_server.rb +4 -4
- data/lib/rainbows/join_threads.rb +18 -0
- data/lib/rainbows/max_body.rb +2 -1
- data/lib/rainbows/max_body/wrapper.rb +1 -1
- data/lib/rainbows/never_block/event_machine.rb +2 -2
- data/lib/rainbows/process_client.rb +9 -1
- data/lib/rainbows/queue_pool.rb +2 -2
- data/lib/rainbows/response.rb +1 -1
- data/lib/rainbows/rev_fiber_spawn.rb +4 -4
- data/lib/rainbows/revactor/client.rb +4 -5
- data/lib/rainbows/revactor/proxy.rb +1 -1
- data/lib/rainbows/reverse_proxy.rb +189 -0
- data/lib/rainbows/reverse_proxy/coolio.rb +61 -0
- data/lib/rainbows/reverse_proxy/ev_client.rb +39 -0
- data/lib/rainbows/reverse_proxy/event_machine.rb +46 -0
- data/lib/rainbows/reverse_proxy/multi_thread.rb +7 -0
- data/lib/rainbows/reverse_proxy/synchronous.rb +21 -0
- data/lib/rainbows/sendfile.rb +1 -1
- data/lib/rainbows/sync_close.rb +2 -2
- data/lib/rainbows/thread_pool.rb +1 -1
- data/lib/rainbows/writer_thread_pool.rb +1 -1
- data/lib/rainbows/xepoll.rb +24 -0
- data/lib/rainbows/xepoll/client.rb +45 -0
- data/pkg.mk +171 -0
- data/rainbows.gemspec +2 -4
- data/t/GNUmakefile +4 -0
- data/t/bin/content-md5-put +1 -0
- data/t/kgio-pipe-response.ru +9 -1
- data/t/rack-fiber_pool/app.ru +6 -1
- data/t/simple-http_Epoll.ru +9 -0
- data/t/simple-http_XEpoll.ru +9 -0
- data/t/t0014-config-conflict.sh +5 -3
- data/t/t0023-sendfile-byte-range.sh +1 -7
- data/t/t0034-pipelined-pipe-response.sh +2 -1
- data/t/t0035-kgio-pipe-response.sh +0 -7
- data/t/t0041-optional-pool-size.sh +51 -0
- data/t/t0050-response-body-close-has-env.sh +2 -1
- data/t/t0104-rack-input-limit-tiny.sh +6 -4
- data/t/t0105-rack-input-limit-bigger.sh +6 -4
- data/t/t0106-rack-input-keepalive.sh +2 -0
- data/t/t0107-rack-input-limit-zero.sh +60 -0
- data/t/t0113-rewindable-input-false.sh +1 -0
- data/t/t0114-rewindable-input-true.sh +1 -0
- data/t/t0202-async-response-one-oh.sh +56 -0
- data/t/test_isolate.rb +5 -2
- metadata +42 -37
- data/lib/rainbows/rack_input.rb +0 -17
@@ -33,6 +33,8 @@ req_pipelined () {
|
|
33
33
|
|
34
34
|
reload () {
|
35
35
|
t_begin 'reloading Rainbows! to ensure writeout' && {
|
36
|
+
# ensure worker is loaded before HUP
|
37
|
+
curl -s http://$listen/ >/dev/null
|
36
38
|
# reload to ensure everything is flushed
|
37
39
|
kill -HUP $rainbows_pid
|
38
40
|
test xSTART = x"$(cat $fifo)"
|
@@ -85,7 +87,6 @@ check_log pipe
|
|
85
87
|
|
86
88
|
t_begin "enable sendfile gem" && {
|
87
89
|
echo "require 'sendfile'" >> $unicorn_config
|
88
|
-
curl http://$listen/ >/dev/null # ensure worker is loaded before HUP
|
89
90
|
}
|
90
91
|
|
91
92
|
reload
|
@@ -6,11 +6,13 @@ req_curl_chunked_upload_err_check
|
|
6
6
|
t_plan 18 "rack.input client_max_body_size tiny"
|
7
7
|
|
8
8
|
t_begin "setup and startup" && {
|
9
|
-
rtmpfiles curl_out curl_err
|
9
|
+
rtmpfiles curl_out curl_err
|
10
10
|
rainbows_setup $model
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
ed -s $unicorn_config <<EOF
|
12
|
+
,s/client_max_body_size.*/client_max_body_size 256/
|
13
|
+
w
|
14
|
+
EOF
|
15
|
+
rainbows -D sha1-random-size.ru -c $unicorn_config
|
14
16
|
rainbows_wait_start
|
15
17
|
}
|
16
18
|
|
@@ -6,11 +6,13 @@ req_curl_chunked_upload_err_check
|
|
6
6
|
t_plan 10 "rack.input client_max_body_size bigger"
|
7
7
|
|
8
8
|
t_begin "setup and startup" && {
|
9
|
-
rtmpfiles curl_out curl_err
|
9
|
+
rtmpfiles curl_out curl_err
|
10
10
|
rainbows_setup $model
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
ed -s $unicorn_config <<EOF
|
12
|
+
,s/client_max_body_size.*/client_max_body_size 10485760/
|
13
|
+
w
|
14
|
+
EOF
|
15
|
+
rainbows -D sha1-random-size.ru -c $unicorn_config
|
14
16
|
rainbows_wait_start
|
15
17
|
}
|
16
18
|
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
. ./test-lib.sh
|
3
|
+
req_curl_chunked_upload_err_check
|
4
|
+
|
5
|
+
t_plan 6 "rack.input client_max_body_size zero"
|
6
|
+
|
7
|
+
t_begin "setup and startup" && {
|
8
|
+
rtmpfiles curl_out curl_err
|
9
|
+
rainbows_setup $model
|
10
|
+
ed -s $unicorn_config <<EOF
|
11
|
+
,s/client_max_body_size.*/client_max_body_size 0/
|
12
|
+
w
|
13
|
+
EOF
|
14
|
+
rainbows -D sha1-random-size.ru -c $unicorn_config
|
15
|
+
rainbows_wait_start
|
16
|
+
empty_sha1=da39a3ee5e6b4b0d3255bfef95601890afd80709
|
17
|
+
}
|
18
|
+
|
19
|
+
t_begin "regular request" && {
|
20
|
+
curl -vsSf -H Expect: http://$listen/ > $curl_out 2> $curl_err
|
21
|
+
dbgcat curl_err
|
22
|
+
dbgcat curl_out
|
23
|
+
test x"$(cat $curl_out)" = x$empty_sha1
|
24
|
+
}
|
25
|
+
|
26
|
+
t_begin "chunked request" && {
|
27
|
+
curl -vsSf -T- < /dev/null -H Expect: \
|
28
|
+
http://$listen/ > $curl_out 2> $curl_err
|
29
|
+
dbgcat curl_err
|
30
|
+
dbgcat curl_out
|
31
|
+
test x"$(cat $curl_out)" = x$empty_sha1
|
32
|
+
}
|
33
|
+
|
34
|
+
t_begin "small input chunked" && {
|
35
|
+
rm -f $ok
|
36
|
+
echo | \
|
37
|
+
curl -vsSf -T- -H Expect: \
|
38
|
+
http://$listen/ > $curl_out 2> $curl_err || > $ok
|
39
|
+
dbgcat curl_err
|
40
|
+
dbgcat curl_out
|
41
|
+
fgrep 413 $curl_err
|
42
|
+
test -e $ok
|
43
|
+
}
|
44
|
+
|
45
|
+
t_begin "small input content-length" && {
|
46
|
+
rm -f $ok
|
47
|
+
echo > $tmp
|
48
|
+
curl -vsSf -T $tmp -H Expect: \
|
49
|
+
http://$listen/ > $curl_out 2> $curl_err || > $ok
|
50
|
+
fgrep 413 $curl_err
|
51
|
+
dbgcat curl_err
|
52
|
+
dbgcat curl_out
|
53
|
+
test -e $ok
|
54
|
+
}
|
55
|
+
|
56
|
+
t_begin "shutdown" && {
|
57
|
+
kill $rainbows_pid
|
58
|
+
}
|
59
|
+
|
60
|
+
t_done
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
CONFIG_RU=${CONFIG_RU-'async-response.ru'}
|
3
|
+
. ./test-lib.sh
|
4
|
+
|
5
|
+
skip_models Base WriterThreadPool WriterThreadSpawn
|
6
|
+
|
7
|
+
t_plan 6 "async HTTP/1.0 response for $model"
|
8
|
+
|
9
|
+
t_begin "setup and start" && {
|
10
|
+
rainbows_setup
|
11
|
+
rtmpfiles a b c a_err b_err c_err
|
12
|
+
# can't load Rack::Lint here since it'll cause Rev to slurp
|
13
|
+
rainbows -E none -D $CONFIG_RU -c $unicorn_config
|
14
|
+
rainbows_wait_start
|
15
|
+
}
|
16
|
+
|
17
|
+
t_begin "send async requests off in parallel" && {
|
18
|
+
t0=$(date +%s)
|
19
|
+
curl="curl -0 --no-buffer -vsSf http://$listen/"
|
20
|
+
( $curl 2>> $a_err | utee $a) &
|
21
|
+
( $curl 2>> $b_err | utee $b) &
|
22
|
+
( $curl 2>> $c_err | utee $c) &
|
23
|
+
wait
|
24
|
+
t1=$(date +%s)
|
25
|
+
}
|
26
|
+
|
27
|
+
t_begin "ensure elapsed requests were processed in parallel" && {
|
28
|
+
elapsed=$(( $t1 - $t0 ))
|
29
|
+
echo "elapsed=$elapsed < 30"
|
30
|
+
test $elapsed -lt 30
|
31
|
+
}
|
32
|
+
|
33
|
+
t_begin "termination signal sent" && {
|
34
|
+
kill $rainbows_pid
|
35
|
+
}
|
36
|
+
|
37
|
+
dbgcat a
|
38
|
+
dbgcat b
|
39
|
+
dbgcat c
|
40
|
+
dbgcat a_err
|
41
|
+
|
42
|
+
t_begin "no errors from curl" && {
|
43
|
+
if grep -i Transfer-Encoding $a_err $b_err $c_err
|
44
|
+
then
|
45
|
+
die "Unexpected Transfer-Encoding: header"
|
46
|
+
fi
|
47
|
+
for i in $a_err $b_err $c_err
|
48
|
+
do
|
49
|
+
grep 'Connection: close' $i
|
50
|
+
done
|
51
|
+
}
|
52
|
+
|
53
|
+
dbgcat r_err
|
54
|
+
t_begin "no errors in stderr" && check_stderr
|
55
|
+
|
56
|
+
t_done
|
data/t/test_isolate.rb
CHANGED
@@ -16,8 +16,9 @@ $stdout.reopen($stderr)
|
|
16
16
|
lock = File.open(__FILE__, "rb")
|
17
17
|
lock.flock(File::LOCK_EX)
|
18
18
|
Isolate.now!(opts) do
|
19
|
-
gem 'unicorn', '3.
|
19
|
+
gem 'unicorn', '3.4.0'
|
20
20
|
gem 'kcar', '0.1.2'
|
21
|
+
gem 'raindrops', '0.4.1'
|
21
22
|
|
22
23
|
if engine == "ruby"
|
23
24
|
gem 'sendfile', '1.0.0' # next Rubinius should support this
|
@@ -31,8 +32,10 @@ Isolate.now!(opts) do
|
|
31
32
|
|
32
33
|
if defined?(::Fiber) && engine == "ruby"
|
33
34
|
gem 'revactor', '0.1.5'
|
34
|
-
gem 'rack-fiber_pool', '0.9.
|
35
|
+
gem 'rack-fiber_pool', '0.9.1'
|
35
36
|
end
|
37
|
+
|
38
|
+
gem 'sleepy_penguin', '1.4.0' if RUBY_PLATFORM =~ /linux/
|
36
39
|
end
|
37
40
|
|
38
41
|
$stdout.reopen(old_out)
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rainbows
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 3
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
version: 3.0.0
|
4
|
+
prerelease:
|
5
|
+
version: 3.1.0
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Rainbows! hackers
|
@@ -15,7 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-
|
13
|
+
date: 2011-02-11 00:00:00 +00:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
16
|
- !ruby/object:Gem::Dependency
|
@@ -26,10 +21,6 @@ dependencies:
|
|
26
21
|
requirements:
|
27
22
|
- - ~>
|
28
23
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 13
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 1
|
33
24
|
version: "1.1"
|
34
25
|
type: :runtime
|
35
26
|
version_requirements: *id001
|
@@ -41,11 +32,7 @@ dependencies:
|
|
41
32
|
requirements:
|
42
33
|
- - ~>
|
43
34
|
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 3
|
47
|
-
- 3
|
48
|
-
version: "3.3"
|
35
|
+
version: "3.4"
|
49
36
|
type: :runtime
|
50
37
|
version_requirements: *id002
|
51
38
|
- !ruby/object:Gem::Dependency
|
@@ -56,11 +43,6 @@ dependencies:
|
|
56
43
|
requirements:
|
57
44
|
- - ~>
|
58
45
|
- !ruby/object:Gem::Version
|
59
|
-
hash: 7
|
60
|
-
segments:
|
61
|
-
- 3
|
62
|
-
- 0
|
63
|
-
- 0
|
64
46
|
version: 3.0.0
|
65
47
|
type: :development
|
66
48
|
version_requirements: *id003
|
@@ -72,11 +54,7 @@ dependencies:
|
|
72
54
|
requirements:
|
73
55
|
- - ~>
|
74
56
|
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
segments:
|
77
|
-
- 1
|
78
|
-
- 1
|
79
|
-
version: "1.1"
|
57
|
+
version: "1.5"
|
80
58
|
type: :development
|
81
59
|
version_requirements: *id004
|
82
60
|
description: |-
|
@@ -116,6 +94,11 @@ extra_rdoc_files:
|
|
116
94
|
- lib/rainbows/coolio_thread_spawn.rb
|
117
95
|
- lib/rainbows/coolio_thread_spawn/client.rb
|
118
96
|
- lib/rainbows/dev_fd_response.rb
|
97
|
+
- lib/rainbows/epoll.rb
|
98
|
+
- lib/rainbows/epoll/client.rb
|
99
|
+
- lib/rainbows/epoll/response_chunk_pipe.rb
|
100
|
+
- lib/rainbows/epoll/response_pipe.rb
|
101
|
+
- lib/rainbows/epoll/server.rb
|
119
102
|
- lib/rainbows/error.rb
|
120
103
|
- lib/rainbows/ev_core.rb
|
121
104
|
- lib/rainbows/ev_core/cap_input.rb
|
@@ -144,6 +127,7 @@ extra_rdoc_files:
|
|
144
127
|
- lib/rainbows/http_parser.rb
|
145
128
|
- lib/rainbows/http_response.rb
|
146
129
|
- lib/rainbows/http_server.rb
|
130
|
+
- lib/rainbows/join_threads.rb
|
147
131
|
- lib/rainbows/max_body.rb
|
148
132
|
- lib/rainbows/max_body/rewindable_wrapper.rb
|
149
133
|
- lib/rainbows/max_body/wrapper.rb
|
@@ -152,7 +136,6 @@ extra_rdoc_files:
|
|
152
136
|
- lib/rainbows/never_block/event_machine.rb
|
153
137
|
- lib/rainbows/process_client.rb
|
154
138
|
- lib/rainbows/queue_pool.rb
|
155
|
-
- lib/rainbows/rack_input.rb
|
156
139
|
- lib/rainbows/response.rb
|
157
140
|
- lib/rainbows/rev.rb
|
158
141
|
- lib/rainbows/rev_fiber_spawn.rb
|
@@ -163,6 +146,12 @@ extra_rdoc_files:
|
|
163
146
|
- lib/rainbows/revactor/client/methods.rb
|
164
147
|
- lib/rainbows/revactor/client/tee_socket.rb
|
165
148
|
- lib/rainbows/revactor/proxy.rb
|
149
|
+
- lib/rainbows/reverse_proxy.rb
|
150
|
+
- lib/rainbows/reverse_proxy/coolio.rb
|
151
|
+
- lib/rainbows/reverse_proxy/ev_client.rb
|
152
|
+
- lib/rainbows/reverse_proxy/event_machine.rb
|
153
|
+
- lib/rainbows/reverse_proxy/multi_thread.rb
|
154
|
+
- lib/rainbows/reverse_proxy/synchronous.rb
|
166
155
|
- lib/rainbows/sendfile.rb
|
167
156
|
- lib/rainbows/server_token.rb
|
168
157
|
- lib/rainbows/socket_proxy.rb
|
@@ -176,6 +165,8 @@ extra_rdoc_files:
|
|
176
165
|
- lib/rainbows/writer_thread_pool/client.rb
|
177
166
|
- lib/rainbows/writer_thread_spawn.rb
|
178
167
|
- lib/rainbows/writer_thread_spawn/client.rb
|
168
|
+
- lib/rainbows/xepoll.rb
|
169
|
+
- lib/rainbows/xepoll/client.rb
|
179
170
|
- LATEST
|
180
171
|
- LICENSE
|
181
172
|
- NEWS
|
@@ -216,6 +207,7 @@ files:
|
|
216
207
|
- TUNING
|
217
208
|
- Test_Suite
|
218
209
|
- bin/rainbows
|
210
|
+
- examples/reverse_proxy.ru
|
219
211
|
- lib/rainbows.rb
|
220
212
|
- lib/rainbows/actor_spawn.rb
|
221
213
|
- lib/rainbows/app_pool.rb
|
@@ -240,6 +232,11 @@ files:
|
|
240
232
|
- lib/rainbows/coolio_thread_spawn.rb
|
241
233
|
- lib/rainbows/coolio_thread_spawn/client.rb
|
242
234
|
- lib/rainbows/dev_fd_response.rb
|
235
|
+
- lib/rainbows/epoll.rb
|
236
|
+
- lib/rainbows/epoll/client.rb
|
237
|
+
- lib/rainbows/epoll/response_chunk_pipe.rb
|
238
|
+
- lib/rainbows/epoll/response_pipe.rb
|
239
|
+
- lib/rainbows/epoll/server.rb
|
243
240
|
- lib/rainbows/error.rb
|
244
241
|
- lib/rainbows/ev_core.rb
|
245
242
|
- lib/rainbows/ev_core/cap_input.rb
|
@@ -268,6 +265,7 @@ files:
|
|
268
265
|
- lib/rainbows/http_parser.rb
|
269
266
|
- lib/rainbows/http_response.rb
|
270
267
|
- lib/rainbows/http_server.rb
|
268
|
+
- lib/rainbows/join_threads.rb
|
271
269
|
- lib/rainbows/max_body.rb
|
272
270
|
- lib/rainbows/max_body/rewindable_wrapper.rb
|
273
271
|
- lib/rainbows/max_body/wrapper.rb
|
@@ -276,7 +274,6 @@ files:
|
|
276
274
|
- lib/rainbows/never_block/event_machine.rb
|
277
275
|
- lib/rainbows/process_client.rb
|
278
276
|
- lib/rainbows/queue_pool.rb
|
279
|
-
- lib/rainbows/rack_input.rb
|
280
277
|
- lib/rainbows/response.rb
|
281
278
|
- lib/rainbows/rev.rb
|
282
279
|
- lib/rainbows/rev_fiber_spawn.rb
|
@@ -287,6 +284,12 @@ files:
|
|
287
284
|
- lib/rainbows/revactor/client/methods.rb
|
288
285
|
- lib/rainbows/revactor/client/tee_socket.rb
|
289
286
|
- lib/rainbows/revactor/proxy.rb
|
287
|
+
- lib/rainbows/reverse_proxy.rb
|
288
|
+
- lib/rainbows/reverse_proxy/coolio.rb
|
289
|
+
- lib/rainbows/reverse_proxy/ev_client.rb
|
290
|
+
- lib/rainbows/reverse_proxy/event_machine.rb
|
291
|
+
- lib/rainbows/reverse_proxy/multi_thread.rb
|
292
|
+
- lib/rainbows/reverse_proxy/synchronous.rb
|
290
293
|
- lib/rainbows/sendfile.rb
|
291
294
|
- lib/rainbows/server_token.rb
|
292
295
|
- lib/rainbows/socket_proxy.rb
|
@@ -300,8 +303,11 @@ files:
|
|
300
303
|
- lib/rainbows/writer_thread_pool/client.rb
|
301
304
|
- lib/rainbows/writer_thread_spawn.rb
|
302
305
|
- lib/rainbows/writer_thread_spawn/client.rb
|
306
|
+
- lib/rainbows/xepoll.rb
|
307
|
+
- lib/rainbows/xepoll/client.rb
|
303
308
|
- local.mk.sample
|
304
309
|
- man/man1/rainbows.1
|
310
|
+
- pkg.mk
|
305
311
|
- rainbows.gemspec
|
306
312
|
- setup.rb
|
307
313
|
- t/.gitignore
|
@@ -345,6 +351,7 @@ files:
|
|
345
351
|
- t/simple-http_CoolioFiberSpawn.ru
|
346
352
|
- t/simple-http_CoolioThreadPool.ru
|
347
353
|
- t/simple-http_CoolioThreadSpawn.ru
|
354
|
+
- t/simple-http_Epoll.ru
|
348
355
|
- t/simple-http_EventMachine.ru
|
349
356
|
- t/simple-http_FiberPool.ru
|
350
357
|
- t/simple-http_FiberSpawn.ru
|
@@ -358,6 +365,7 @@ files:
|
|
358
365
|
- t/simple-http_ThreadSpawn.ru
|
359
366
|
- t/simple-http_WriterThreadPool.ru
|
360
367
|
- t/simple-http_WriterThreadSpawn.ru
|
368
|
+
- t/simple-http_XEpoll.ru
|
361
369
|
- t/sleep.ru
|
362
370
|
- t/t0000-simple-http.sh
|
363
371
|
- t/t0000.ru
|
@@ -395,6 +403,7 @@ files:
|
|
395
403
|
- t/t0034-pipelined-pipe-response.sh
|
396
404
|
- t/t0035-kgio-pipe-response.sh
|
397
405
|
- t/t0040-keepalive_requests-setting.sh
|
406
|
+
- t/t0041-optional-pool-size.sh
|
398
407
|
- t/t0050-response-body-close-has-env.sh
|
399
408
|
- t/t0100-rack-input-hammer-chunked.sh
|
400
409
|
- t/t0100-rack-input-hammer-content-length.sh
|
@@ -404,12 +413,14 @@ files:
|
|
404
413
|
- t/t0104-rack-input-limit-tiny.sh
|
405
414
|
- t/t0105-rack-input-limit-bigger.sh
|
406
415
|
- t/t0106-rack-input-keepalive.sh
|
416
|
+
- t/t0107-rack-input-limit-zero.sh
|
407
417
|
- t/t0113-rewindable-input-false.sh
|
408
418
|
- t/t0113.ru
|
409
419
|
- t/t0114-rewindable-input-true.sh
|
410
420
|
- t/t0114.ru
|
411
421
|
- t/t0200-async-response.sh
|
412
422
|
- t/t0201-async-response-no-autochunk.sh
|
423
|
+
- t/t0202-async-response-one-oh.sh
|
413
424
|
- t/t0300-async_sinatra.sh
|
414
425
|
- t/t0400-em-async-app.sh
|
415
426
|
- t/t0401-em-async-tailer.sh
|
@@ -444,7 +455,7 @@ rdoc_options:
|
|
444
455
|
- -t
|
445
456
|
- Rainbows! - Unicorn for sleepy apps and slow clients
|
446
457
|
- -W
|
447
|
-
- http://
|
458
|
+
- http://bogomips.org/rainbows.git/tree/%s
|
448
459
|
require_paths:
|
449
460
|
- lib
|
450
461
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -452,23 +463,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
452
463
|
requirements:
|
453
464
|
- - ">="
|
454
465
|
- !ruby/object:Gem::Version
|
455
|
-
hash: 3
|
456
|
-
segments:
|
457
|
-
- 0
|
458
466
|
version: "0"
|
459
467
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
460
468
|
none: false
|
461
469
|
requirements:
|
462
470
|
- - ">="
|
463
471
|
- !ruby/object:Gem::Version
|
464
|
-
hash: 3
|
465
|
-
segments:
|
466
|
-
- 0
|
467
472
|
version: "0"
|
468
473
|
requirements: []
|
469
474
|
|
470
475
|
rubyforge_project: rainbows
|
471
|
-
rubygems_version: 1.
|
476
|
+
rubygems_version: 1.5.0
|
472
477
|
signing_key:
|
473
478
|
specification_version: 3
|
474
479
|
summary: "- Unicorn for sleepy apps and slow clients"
|