unicorn-shopify 4.8.2.5.23

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 (150) hide show
  1. checksums.yaml +7 -0
  2. data/.CHANGELOG.old +25 -0
  3. data/.document +28 -0
  4. data/.gitignore +25 -0
  5. data/.mailmap +26 -0
  6. data/.olddoc.yml +15 -0
  7. data/Application_Timeouts +77 -0
  8. data/CONTRIBUTORS +35 -0
  9. data/COPYING +674 -0
  10. data/DESIGN +97 -0
  11. data/Documentation/.gitignore +5 -0
  12. data/Documentation/GNUmakefile +30 -0
  13. data/Documentation/unicorn.1.txt +185 -0
  14. data/Documentation/unicorn_rails.1.txt +175 -0
  15. data/FAQ +61 -0
  16. data/GIT-VERSION-GEN +39 -0
  17. data/GNUmakefile +252 -0
  18. data/HACKING +120 -0
  19. data/ISSUES +100 -0
  20. data/KNOWN_ISSUES +79 -0
  21. data/LICENSE +67 -0
  22. data/Links +59 -0
  23. data/PHILOSOPHY +145 -0
  24. data/README +145 -0
  25. data/Rakefile +16 -0
  26. data/SIGNALS +123 -0
  27. data/Sandbox +103 -0
  28. data/TODO +5 -0
  29. data/TUNING +101 -0
  30. data/archive/.gitignore +3 -0
  31. data/archive/slrnpull.conf +4 -0
  32. data/bin/unicorn +126 -0
  33. data/bin/unicorn_rails +209 -0
  34. data/examples/big_app_gc.rb +2 -0
  35. data/examples/echo.ru +27 -0
  36. data/examples/init.sh +74 -0
  37. data/examples/logger_mp_safe.rb +25 -0
  38. data/examples/logrotate.conf +29 -0
  39. data/examples/nginx.conf +156 -0
  40. data/examples/unicorn.conf.minimal.rb +13 -0
  41. data/examples/unicorn.conf.rb +113 -0
  42. data/ext/unicorn_http/CFLAGS +13 -0
  43. data/ext/unicorn_http/c_util.h +124 -0
  44. data/ext/unicorn_http/common_field_optimization.h +111 -0
  45. data/ext/unicorn_http/ext_help.h +82 -0
  46. data/ext/unicorn_http/extconf.rb +10 -0
  47. data/ext/unicorn_http/global_variables.h +97 -0
  48. data/ext/unicorn_http/httpdate.c +78 -0
  49. data/ext/unicorn_http/unicorn_http.rl +934 -0
  50. data/ext/unicorn_http/unicorn_http_common.rl +76 -0
  51. data/lib/unicorn.rb +112 -0
  52. data/lib/unicorn/app/old_rails.rb +35 -0
  53. data/lib/unicorn/app/old_rails/static.rb +59 -0
  54. data/lib/unicorn/cgi_wrapper.rb +147 -0
  55. data/lib/unicorn/configurator.rb +686 -0
  56. data/lib/unicorn/const.rb +21 -0
  57. data/lib/unicorn/http_request.rb +125 -0
  58. data/lib/unicorn/http_response.rb +73 -0
  59. data/lib/unicorn/http_server.rb +816 -0
  60. data/lib/unicorn/launcher.rb +62 -0
  61. data/lib/unicorn/oob_gc.rb +81 -0
  62. data/lib/unicorn/preread_input.rb +33 -0
  63. data/lib/unicorn/socket_helper.rb +197 -0
  64. data/lib/unicorn/stream_input.rb +146 -0
  65. data/lib/unicorn/tee_input.rb +133 -0
  66. data/lib/unicorn/tmpio.rb +27 -0
  67. data/lib/unicorn/util.rb +90 -0
  68. data/lib/unicorn/worker.rb +140 -0
  69. data/setup.rb +1586 -0
  70. data/t/.gitignore +4 -0
  71. data/t/GNUmakefile +74 -0
  72. data/t/README +42 -0
  73. data/t/before_murder.ru +7 -0
  74. data/t/bin/content-md5-put +36 -0
  75. data/t/bin/sha1sum.rb +17 -0
  76. data/t/bin/unused_listen +40 -0
  77. data/t/broken-app.ru +12 -0
  78. data/t/detach.ru +11 -0
  79. data/t/env.ru +3 -0
  80. data/t/fails-rack-lint.ru +5 -0
  81. data/t/heartbeat-timeout.ru +12 -0
  82. data/t/hijack.ru +42 -0
  83. data/t/listener_names.ru +4 -0
  84. data/t/my-tap-lib.sh +201 -0
  85. data/t/oob_gc.ru +20 -0
  86. data/t/oob_gc_path.ru +20 -0
  87. data/t/pid.ru +3 -0
  88. data/t/preread_input.ru +17 -0
  89. data/t/rack-input-tests.ru +21 -0
  90. data/t/t0000-http-basic.sh +50 -0
  91. data/t/t0001-reload-bad-config.sh +53 -0
  92. data/t/t0002-config-conflict.sh +49 -0
  93. data/t/t0002-parser-error.sh +94 -0
  94. data/t/t0003-working_directory.sh +51 -0
  95. data/t/t0004-heartbeat-timeout.sh +69 -0
  96. data/t/t0004-working_directory_broken.sh +24 -0
  97. data/t/t0005-working_directory_app.rb.sh +40 -0
  98. data/t/t0006-reopen-logs.sh +83 -0
  99. data/t/t0006.ru +13 -0
  100. data/t/t0007-working_directory_no_embed_cli.sh +44 -0
  101. data/t/t0008-back_out_of_upgrade.sh +110 -0
  102. data/t/t0009-broken-app.sh +56 -0
  103. data/t/t0009-winch_ttin.sh +59 -0
  104. data/t/t0010-reap-logging.sh +55 -0
  105. data/t/t0011-active-unix-socket.sh +79 -0
  106. data/t/t0012-reload-empty-config.sh +85 -0
  107. data/t/t0013-rewindable-input-false.sh +24 -0
  108. data/t/t0013.ru +12 -0
  109. data/t/t0014-rewindable-input-true.sh +24 -0
  110. data/t/t0014.ru +12 -0
  111. data/t/t0015-configurator-internals.sh +25 -0
  112. data/t/t0018-write-on-close.sh +23 -0
  113. data/t/t0019-max_header_len.sh +49 -0
  114. data/t/t0020-at_exit-handler.sh +49 -0
  115. data/t/t0021-process_detach.sh +29 -0
  116. data/t/t0022-listener_names-preload_app.sh +32 -0
  117. data/t/t0023-before-murder.sh +40 -0
  118. data/t/t0024-before-murder_once.sh +52 -0
  119. data/t/t0100-rack-input-tests.sh +124 -0
  120. data/t/t0116-client_body_buffer_size.sh +80 -0
  121. data/t/t0116.ru +16 -0
  122. data/t/t0200-rack-hijack.sh +27 -0
  123. data/t/t0300-no-default-middleware.sh +20 -0
  124. data/t/t9000-preread-input.sh +48 -0
  125. data/t/t9001-oob_gc.sh +47 -0
  126. data/t/t9002-oob_gc-path.sh +75 -0
  127. data/t/test-lib.sh +128 -0
  128. data/t/write-on-close.ru +11 -0
  129. data/test/aggregate.rb +15 -0
  130. data/test/benchmark/README +50 -0
  131. data/test/benchmark/dd.ru +18 -0
  132. data/test/benchmark/stack.ru +8 -0
  133. data/test/exec/README +5 -0
  134. data/test/exec/test_exec.rb +1047 -0
  135. data/test/test_helper.rb +297 -0
  136. data/test/unit/test_configurator.rb +175 -0
  137. data/test/unit/test_droplet.rb +28 -0
  138. data/test/unit/test_http_parser.rb +854 -0
  139. data/test/unit/test_http_parser_ng.rb +622 -0
  140. data/test/unit/test_request.rb +182 -0
  141. data/test/unit/test_response.rb +93 -0
  142. data/test/unit/test_server.rb +268 -0
  143. data/test/unit/test_signals.rb +188 -0
  144. data/test/unit/test_socket_helper.rb +197 -0
  145. data/test/unit/test_stream_input.rb +203 -0
  146. data/test/unit/test_tee_input.rb +304 -0
  147. data/test/unit/test_upload.rb +306 -0
  148. data/test/unit/test_util.rb +105 -0
  149. data/unicorn.gemspec +41 -0
  150. metadata +311 -0
@@ -0,0 +1,105 @@
1
+ # -*- encoding: binary -*-
2
+
3
+ require './test/test_helper'
4
+ require 'tempfile'
5
+
6
+ class TestUtil < Test::Unit::TestCase
7
+
8
+ EXPECT_FLAGS = File::WRONLY | File::APPEND
9
+ def test_reopen_logs_noop
10
+ tmp = Tempfile.new('')
11
+ fp = File.open(tmp.path, 'ab')
12
+ fp.sync = true
13
+ ext = fp.external_encoding rescue nil
14
+ int = fp.internal_encoding rescue nil
15
+ before = fp.stat.inspect
16
+ Unicorn::Util.reopen_logs
17
+ assert_equal before, File.stat(fp.path).inspect
18
+ assert_equal ext, (fp.external_encoding rescue nil)
19
+ assert_equal int, (fp.internal_encoding rescue nil)
20
+ assert_equal(EXPECT_FLAGS, EXPECT_FLAGS & fp.fcntl(Fcntl::F_GETFL))
21
+ tmp.close!
22
+ fp.close
23
+ end
24
+
25
+ def test_reopen_logs_renamed
26
+ tmp = Tempfile.new('')
27
+ tmp_path = tmp.path.freeze
28
+ fp = File.open(tmp_path, 'ab')
29
+ fp.sync = true
30
+
31
+ ext = fp.external_encoding rescue nil
32
+ int = fp.internal_encoding rescue nil
33
+ before = fp.stat.inspect
34
+ to = Tempfile.new('')
35
+ File.rename(tmp_path, to.path)
36
+ assert ! File.exist?(tmp_path)
37
+ Unicorn::Util.reopen_logs
38
+ assert_equal tmp_path, tmp.path
39
+ assert File.exist?(tmp_path)
40
+ assert before != File.stat(tmp_path).inspect
41
+ assert_equal fp.stat.inspect, File.stat(tmp_path).inspect
42
+ assert_equal ext, (fp.external_encoding rescue nil)
43
+ assert_equal int, (fp.internal_encoding rescue nil)
44
+ assert_equal(EXPECT_FLAGS, EXPECT_FLAGS & fp.fcntl(Fcntl::F_GETFL))
45
+ assert fp.sync
46
+ tmp.close!
47
+ to.close!
48
+ fp.close
49
+ end
50
+
51
+ def test_reopen_logs_renamed_with_encoding
52
+ tmp = Tempfile.new('')
53
+ tmp_path = tmp.path.dup.freeze
54
+ Encoding.list.each { |encoding|
55
+ File.open(tmp_path, "a:#{encoding.to_s}") { |fp|
56
+ fp.sync = true
57
+ assert_equal encoding, fp.external_encoding
58
+ assert_nil fp.internal_encoding
59
+ File.unlink(tmp_path)
60
+ assert ! File.exist?(tmp_path)
61
+ Unicorn::Util.reopen_logs
62
+ assert_equal tmp_path, fp.path
63
+ assert File.exist?(tmp_path)
64
+ assert_equal fp.stat.inspect, File.stat(tmp_path).inspect
65
+ assert_equal encoding, fp.external_encoding
66
+ assert_nil fp.internal_encoding
67
+ assert_equal(EXPECT_FLAGS, EXPECT_FLAGS & fp.fcntl(Fcntl::F_GETFL))
68
+ assert fp.sync
69
+ }
70
+ }
71
+ tmp.close!
72
+ end if STDIN.respond_to?(:external_encoding)
73
+
74
+ def test_reopen_logs_renamed_with_internal_encoding
75
+ tmp = Tempfile.new('')
76
+ tmp_path = tmp.path.dup.freeze
77
+ Encoding.list.each { |ext|
78
+ Encoding.list.each { |int|
79
+ next if ext == int
80
+ File.open(tmp_path, "a:#{ext.to_s}:#{int.to_s}") { |fp|
81
+ fp.sync = true
82
+ assert_equal ext, fp.external_encoding
83
+
84
+ if ext != Encoding::BINARY
85
+ assert_equal int, fp.internal_encoding
86
+ end
87
+
88
+ File.unlink(tmp_path)
89
+ assert ! File.exist?(tmp_path)
90
+ Unicorn::Util.reopen_logs
91
+ assert_equal tmp_path, fp.path
92
+ assert File.exist?(tmp_path)
93
+ assert_equal fp.stat.inspect, File.stat(tmp_path).inspect
94
+ assert_equal ext, fp.external_encoding
95
+ if ext != Encoding::BINARY
96
+ assert_equal int, fp.internal_encoding
97
+ end
98
+ assert_equal(EXPECT_FLAGS, EXPECT_FLAGS & fp.fcntl(Fcntl::F_GETFL))
99
+ assert fp.sync
100
+ }
101
+ }
102
+ }
103
+ tmp.close!
104
+ end if STDIN.respond_to?(:external_encoding)
105
+ end
@@ -0,0 +1,41 @@
1
+ # -*- encoding: binary -*-
2
+ ENV["VERSION"] or abort "VERSION= must be specified"
3
+ manifest = File.readlines('.manifest').map! { |x| x.chomp! }
4
+ require 'olddoc'
5
+ extend Olddoc::Gemspec
6
+ name, summary, title = readme_metadata
7
+
8
+ # don't bother with tests that fork, not worth our time to get working
9
+ # with `gem check -t` ... (of course we care for them when testing with
10
+ # GNU make when they can run in parallel)
11
+ test_files = manifest.grep(%r{\Atest/unit/test_.*\.rb\z}).map do |f|
12
+ File.readlines(f).grep(/\bfork\b/).empty? ? f : nil
13
+ end.compact
14
+
15
+ Gem::Specification.new do |s|
16
+ s.name = %q{unicorn-shopify}
17
+ s.version = "4.8.2.5.23"
18
+ s.authors = ["#{name} hackers"]
19
+ s.summary = summary
20
+ s.description = readme_description
21
+ s.email = %q{unicorn-public@bogomips.org}
22
+ s.executables = %w(unicorn unicorn_rails)
23
+ s.extensions = %w(ext/unicorn_http/extconf.rb)
24
+ s.extra_rdoc_files = extra_rdoc_files(manifest)
25
+ s.files = manifest
26
+ s.homepage = Olddoc.config['rdoc_url']
27
+ s.test_files = test_files
28
+
29
+ # for people that are absolutely stuck on Rails 2.3.2 and can't
30
+ # up/downgrade to any other version, the Rack dependency may be
31
+ # commented out. Nevertheless, upgrading to Rails 2.3.4 or later is
32
+ # *strongly* recommended for security reasons.
33
+ s.add_dependency(%q<rack>)
34
+ s.add_dependency(%q<kgio>, '~> 2.6')
35
+ s.add_dependency(%q<raindrops>, '~> 0.7')
36
+
37
+ s.add_development_dependency('test-unit', '~> 3.0')
38
+ s.add_development_dependency('olddoc', '~> 1.0')
39
+
40
+ s.licenses = ["GPLv2+", "Ruby 1.8"]
41
+ end
metadata ADDED
@@ -0,0 +1,311 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: unicorn-shopify
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.8.2.5.23
5
+ platform: ruby
6
+ authors:
7
+ - Unicorn hackers
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-02-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: kgio
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: raindrops
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.7'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: test-unit
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: olddoc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ description: |-
84
+ \Unicorn is an HTTP server for Rack applications designed to only serve
85
+ fast clients on low-latency, high-bandwidth connections and take
86
+ advantage of features in Unix/Unix-like kernels. Slow clients should
87
+ only be served by placing a reverse proxy capable of fully buffering
88
+ both the the request and response in between \Unicorn and slow clients.
89
+ email: unicorn-public@bogomips.org
90
+ executables:
91
+ - unicorn
92
+ - unicorn_rails
93
+ extensions:
94
+ - ext/unicorn_http/extconf.rb
95
+ extra_rdoc_files:
96
+ - FAQ
97
+ - README
98
+ - TUNING
99
+ - PHILOSOPHY
100
+ - HACKING
101
+ - DESIGN
102
+ - CONTRIBUTORS
103
+ - LICENSE
104
+ - SIGNALS
105
+ - KNOWN_ISSUES
106
+ - TODO
107
+ - NEWS
108
+ - LATEST
109
+ - lib/unicorn.rb
110
+ - lib/unicorn/configurator.rb
111
+ - lib/unicorn/http_server.rb
112
+ - lib/unicorn/preread_input.rb
113
+ - lib/unicorn/stream_input.rb
114
+ - lib/unicorn/tee_input.rb
115
+ - lib/unicorn/util.rb
116
+ - lib/unicorn/oob_gc.rb
117
+ - lib/unicorn/worker.rb
118
+ - ISSUES
119
+ - Sandbox
120
+ - Links
121
+ - Application_Timeouts
122
+ files:
123
+ - ".CHANGELOG.old"
124
+ - ".document"
125
+ - ".gitignore"
126
+ - ".mailmap"
127
+ - ".manifest"
128
+ - ".olddoc.yml"
129
+ - Application_Timeouts
130
+ - CONTRIBUTORS
131
+ - COPYING
132
+ - DESIGN
133
+ - Documentation/.gitignore
134
+ - Documentation/GNUmakefile
135
+ - Documentation/unicorn.1.txt
136
+ - Documentation/unicorn_rails.1.txt
137
+ - FAQ
138
+ - GIT-VERSION-FILE
139
+ - GIT-VERSION-GEN
140
+ - GNUmakefile
141
+ - HACKING
142
+ - ISSUES
143
+ - KNOWN_ISSUES
144
+ - LATEST
145
+ - LICENSE
146
+ - Links
147
+ - NEWS
148
+ - PHILOSOPHY
149
+ - README
150
+ - Rakefile
151
+ - SIGNALS
152
+ - Sandbox
153
+ - TODO
154
+ - TUNING
155
+ - archive/.gitignore
156
+ - archive/slrnpull.conf
157
+ - bin/unicorn
158
+ - bin/unicorn_rails
159
+ - examples/big_app_gc.rb
160
+ - examples/echo.ru
161
+ - examples/init.sh
162
+ - examples/logger_mp_safe.rb
163
+ - examples/logrotate.conf
164
+ - examples/nginx.conf
165
+ - examples/unicorn.conf.minimal.rb
166
+ - examples/unicorn.conf.rb
167
+ - ext/unicorn_http/CFLAGS
168
+ - ext/unicorn_http/c_util.h
169
+ - ext/unicorn_http/common_field_optimization.h
170
+ - ext/unicorn_http/ext_help.h
171
+ - ext/unicorn_http/extconf.rb
172
+ - ext/unicorn_http/global_variables.h
173
+ - ext/unicorn_http/httpdate.c
174
+ - ext/unicorn_http/unicorn_http.c
175
+ - ext/unicorn_http/unicorn_http.rl
176
+ - ext/unicorn_http/unicorn_http_common.rl
177
+ - lib/unicorn.rb
178
+ - lib/unicorn/app/old_rails.rb
179
+ - lib/unicorn/app/old_rails/static.rb
180
+ - lib/unicorn/cgi_wrapper.rb
181
+ - lib/unicorn/configurator.rb
182
+ - lib/unicorn/const.rb
183
+ - lib/unicorn/http_request.rb
184
+ - lib/unicorn/http_response.rb
185
+ - lib/unicorn/http_server.rb
186
+ - lib/unicorn/launcher.rb
187
+ - lib/unicorn/oob_gc.rb
188
+ - lib/unicorn/preread_input.rb
189
+ - lib/unicorn/socket_helper.rb
190
+ - lib/unicorn/stream_input.rb
191
+ - lib/unicorn/tee_input.rb
192
+ - lib/unicorn/tmpio.rb
193
+ - lib/unicorn/util.rb
194
+ - lib/unicorn/version.rb
195
+ - lib/unicorn/worker.rb
196
+ - man/man1/unicorn.1
197
+ - man/man1/unicorn_rails.1
198
+ - setup.rb
199
+ - t/.gitignore
200
+ - t/GNUmakefile
201
+ - t/README
202
+ - t/before_murder.ru
203
+ - t/bin/content-md5-put
204
+ - t/bin/sha1sum.rb
205
+ - t/bin/unused_listen
206
+ - t/broken-app.ru
207
+ - t/detach.ru
208
+ - t/env.ru
209
+ - t/fails-rack-lint.ru
210
+ - t/heartbeat-timeout.ru
211
+ - t/hijack.ru
212
+ - t/listener_names.ru
213
+ - t/my-tap-lib.sh
214
+ - t/oob_gc.ru
215
+ - t/oob_gc_path.ru
216
+ - t/pid.ru
217
+ - t/preread_input.ru
218
+ - t/rack-input-tests.ru
219
+ - t/t0000-http-basic.sh
220
+ - t/t0001-reload-bad-config.sh
221
+ - t/t0002-config-conflict.sh
222
+ - t/t0002-parser-error.sh
223
+ - t/t0003-working_directory.sh
224
+ - t/t0004-heartbeat-timeout.sh
225
+ - t/t0004-working_directory_broken.sh
226
+ - t/t0005-working_directory_app.rb.sh
227
+ - t/t0006-reopen-logs.sh
228
+ - t/t0006.ru
229
+ - t/t0007-working_directory_no_embed_cli.sh
230
+ - t/t0008-back_out_of_upgrade.sh
231
+ - t/t0009-broken-app.sh
232
+ - t/t0009-winch_ttin.sh
233
+ - t/t0010-reap-logging.sh
234
+ - t/t0011-active-unix-socket.sh
235
+ - t/t0012-reload-empty-config.sh
236
+ - t/t0013-rewindable-input-false.sh
237
+ - t/t0013.ru
238
+ - t/t0014-rewindable-input-true.sh
239
+ - t/t0014.ru
240
+ - t/t0015-configurator-internals.sh
241
+ - t/t0018-write-on-close.sh
242
+ - t/t0019-max_header_len.sh
243
+ - t/t0020-at_exit-handler.sh
244
+ - t/t0021-process_detach.sh
245
+ - t/t0022-listener_names-preload_app.sh
246
+ - t/t0023-before-murder.sh
247
+ - t/t0024-before-murder_once.sh
248
+ - t/t0100-rack-input-tests.sh
249
+ - t/t0116-client_body_buffer_size.sh
250
+ - t/t0116.ru
251
+ - t/t0200-rack-hijack.sh
252
+ - t/t0300-no-default-middleware.sh
253
+ - t/t9000-preread-input.sh
254
+ - t/t9001-oob_gc.sh
255
+ - t/t9002-oob_gc-path.sh
256
+ - t/test-lib.sh
257
+ - t/write-on-close.ru
258
+ - test/aggregate.rb
259
+ - test/benchmark/README
260
+ - test/benchmark/dd.ru
261
+ - test/benchmark/stack.ru
262
+ - test/exec/README
263
+ - test/exec/test_exec.rb
264
+ - test/test_helper.rb
265
+ - test/unit/test_configurator.rb
266
+ - test/unit/test_droplet.rb
267
+ - test/unit/test_http_parser.rb
268
+ - test/unit/test_http_parser_ng.rb
269
+ - test/unit/test_request.rb
270
+ - test/unit/test_response.rb
271
+ - test/unit/test_server.rb
272
+ - test/unit/test_signals.rb
273
+ - test/unit/test_socket_helper.rb
274
+ - test/unit/test_stream_input.rb
275
+ - test/unit/test_tee_input.rb
276
+ - test/unit/test_upload.rb
277
+ - test/unit/test_util.rb
278
+ - unicorn.gemspec
279
+ homepage: http://unicorn.bogomips.org/
280
+ licenses:
281
+ - GPLv2+
282
+ - Ruby 1.8
283
+ metadata: {}
284
+ post_install_message:
285
+ rdoc_options: []
286
+ require_paths:
287
+ - lib
288
+ required_ruby_version: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ required_rubygems_version: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: '0'
298
+ requirements: []
299
+ rubyforge_project:
300
+ rubygems_version: 2.6.10
301
+ signing_key:
302
+ specification_version: 4
303
+ summary: Rack HTTP server for fast clients and Unix
304
+ test_files:
305
+ - test/unit/test_configurator.rb
306
+ - test/unit/test_http_parser.rb
307
+ - test/unit/test_http_parser_ng.rb
308
+ - test/unit/test_request.rb
309
+ - test/unit/test_response.rb
310
+ - test/unit/test_server.rb
311
+ - test/unit/test_util.rb