unicorn-simon 0.0.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 (158) hide show
  1. checksums.yaml +7 -0
  2. data/.CHANGELOG.old +25 -0
  3. data/.document +28 -0
  4. data/.gitattributes +5 -0
  5. data/.gitignore +25 -0
  6. data/.mailmap +26 -0
  7. data/.manifest +156 -0
  8. data/.olddoc.yml +18 -0
  9. data/Application_Timeouts +77 -0
  10. data/CONTRIBUTORS +35 -0
  11. data/COPYING +674 -0
  12. data/DESIGN +95 -0
  13. data/Documentation/.gitignore +5 -0
  14. data/Documentation/GNUmakefile +30 -0
  15. data/Documentation/unicorn.1.txt +187 -0
  16. data/Documentation/unicorn_rails.1.txt +175 -0
  17. data/FAQ +70 -0
  18. data/GIT-VERSION-FILE +1 -0
  19. data/GIT-VERSION-GEN +39 -0
  20. data/GNUmakefile +253 -0
  21. data/HACKING +120 -0
  22. data/ISSUES +90 -0
  23. data/KNOWN_ISSUES +79 -0
  24. data/LATEST +30 -0
  25. data/LICENSE +67 -0
  26. data/Links +56 -0
  27. data/NEWS +2465 -0
  28. data/PHILOSOPHY +139 -0
  29. data/README +138 -0
  30. data/Rakefile +16 -0
  31. data/SIGNALS +123 -0
  32. data/Sandbox +104 -0
  33. data/TODO +3 -0
  34. data/TUNING +119 -0
  35. data/archive/.gitignore +3 -0
  36. data/archive/slrnpull.conf +4 -0
  37. data/bin/unicorn +126 -0
  38. data/bin/unicorn_rails +209 -0
  39. data/examples/big_app_gc.rb +2 -0
  40. data/examples/echo.ru +27 -0
  41. data/examples/init.sh +102 -0
  42. data/examples/logger_mp_safe.rb +25 -0
  43. data/examples/logrotate.conf +44 -0
  44. data/examples/nginx.conf +155 -0
  45. data/examples/unicorn.conf.minimal.rb +13 -0
  46. data/examples/unicorn.conf.rb +110 -0
  47. data/examples/unicorn.socket +11 -0
  48. data/examples/unicorn@.service +33 -0
  49. data/ext/unicorn_http/CFLAGS +13 -0
  50. data/ext/unicorn_http/c_util.h +124 -0
  51. data/ext/unicorn_http/common_field_optimization.h +111 -0
  52. data/ext/unicorn_http/ext_help.h +62 -0
  53. data/ext/unicorn_http/extconf.rb +11 -0
  54. data/ext/unicorn_http/global_variables.h +97 -0
  55. data/ext/unicorn_http/httpdate.c +78 -0
  56. data/ext/unicorn_http/unicorn_http.c +4274 -0
  57. data/ext/unicorn_http/unicorn_http.rl +980 -0
  58. data/ext/unicorn_http/unicorn_http_common.rl +76 -0
  59. data/lib/unicorn/app/old_rails/static.rb +59 -0
  60. data/lib/unicorn/app/old_rails.rb +35 -0
  61. data/lib/unicorn/cgi_wrapper.rb +147 -0
  62. data/lib/unicorn/configurator.rb +664 -0
  63. data/lib/unicorn/const.rb +21 -0
  64. data/lib/unicorn/http_request.rb +122 -0
  65. data/lib/unicorn/http_response.rb +60 -0
  66. data/lib/unicorn/http_server.rb +824 -0
  67. data/lib/unicorn/launcher.rb +62 -0
  68. data/lib/unicorn/oob_gc.rb +82 -0
  69. data/lib/unicorn/preread_input.rb +33 -0
  70. data/lib/unicorn/socket_helper.rb +195 -0
  71. data/lib/unicorn/stream_input.rb +146 -0
  72. data/lib/unicorn/tee_input.rb +133 -0
  73. data/lib/unicorn/tmpio.rb +27 -0
  74. data/lib/unicorn/util.rb +90 -0
  75. data/lib/unicorn/version.rb +1 -0
  76. data/lib/unicorn/worker.rb +140 -0
  77. data/lib/unicorn.rb +123 -0
  78. data/man/man1/unicorn.1 +221 -0
  79. data/man/man1/unicorn_rails.1 +212 -0
  80. data/setup.rb +1586 -0
  81. data/t/.gitignore +4 -0
  82. data/t/GNUmakefile +74 -0
  83. data/t/README +42 -0
  84. data/t/bin/content-md5-put +36 -0
  85. data/t/bin/sha1sum.rb +17 -0
  86. data/t/bin/unused_listen +40 -0
  87. data/t/broken-app.ru +12 -0
  88. data/t/detach.ru +11 -0
  89. data/t/env.ru +3 -0
  90. data/t/fails-rack-lint.ru +5 -0
  91. data/t/heartbeat-timeout.ru +12 -0
  92. data/t/hijack.ru +43 -0
  93. data/t/listener_names.ru +4 -0
  94. data/t/my-tap-lib.sh +201 -0
  95. data/t/oob_gc.ru +20 -0
  96. data/t/oob_gc_path.ru +20 -0
  97. data/t/pid.ru +3 -0
  98. data/t/preread_input.ru +17 -0
  99. data/t/rack-input-tests.ru +21 -0
  100. data/t/t0000-http-basic.sh +50 -0
  101. data/t/t0001-reload-bad-config.sh +53 -0
  102. data/t/t0002-config-conflict.sh +49 -0
  103. data/t/t0002-parser-error.sh +94 -0
  104. data/t/t0003-working_directory.sh +51 -0
  105. data/t/t0004-heartbeat-timeout.sh +69 -0
  106. data/t/t0004-working_directory_broken.sh +24 -0
  107. data/t/t0005-working_directory_app.rb.sh +40 -0
  108. data/t/t0006-reopen-logs.sh +83 -0
  109. data/t/t0006.ru +13 -0
  110. data/t/t0007-working_directory_no_embed_cli.sh +44 -0
  111. data/t/t0008-back_out_of_upgrade.sh +110 -0
  112. data/t/t0009-broken-app.sh +56 -0
  113. data/t/t0009-winch_ttin.sh +59 -0
  114. data/t/t0010-reap-logging.sh +55 -0
  115. data/t/t0011-active-unix-socket.sh +79 -0
  116. data/t/t0012-reload-empty-config.sh +85 -0
  117. data/t/t0013-rewindable-input-false.sh +24 -0
  118. data/t/t0013.ru +12 -0
  119. data/t/t0014-rewindable-input-true.sh +24 -0
  120. data/t/t0014.ru +12 -0
  121. data/t/t0015-configurator-internals.sh +25 -0
  122. data/t/t0018-write-on-close.sh +23 -0
  123. data/t/t0019-max_header_len.sh +49 -0
  124. data/t/t0020-at_exit-handler.sh +49 -0
  125. data/t/t0021-process_detach.sh +29 -0
  126. data/t/t0022-listener_names-preload_app.sh +32 -0
  127. data/t/t0100-rack-input-tests.sh +124 -0
  128. data/t/t0116-client_body_buffer_size.sh +80 -0
  129. data/t/t0116.ru +16 -0
  130. data/t/t0200-rack-hijack.sh +30 -0
  131. data/t/t0300-no-default-middleware.sh +20 -0
  132. data/t/t9000-preread-input.sh +48 -0
  133. data/t/t9001-oob_gc.sh +47 -0
  134. data/t/t9002-oob_gc-path.sh +75 -0
  135. data/t/test-lib.sh +128 -0
  136. data/t/write-on-close.ru +11 -0
  137. data/test/aggregate.rb +15 -0
  138. data/test/benchmark/README +50 -0
  139. data/test/benchmark/dd.ru +18 -0
  140. data/test/benchmark/stack.ru +8 -0
  141. data/test/exec/README +5 -0
  142. data/test/exec/test_exec.rb +1099 -0
  143. data/test/test_helper.rb +298 -0
  144. data/test/unit/test_configurator.rb +175 -0
  145. data/test/unit/test_droplet.rb +28 -0
  146. data/test/unit/test_http_parser.rb +886 -0
  147. data/test/unit/test_http_parser_ng.rb +633 -0
  148. data/test/unit/test_request.rb +182 -0
  149. data/test/unit/test_response.rb +111 -0
  150. data/test/unit/test_server.rb +268 -0
  151. data/test/unit/test_signals.rb +188 -0
  152. data/test/unit/test_socket_helper.rb +197 -0
  153. data/test/unit/test_stream_input.rb +203 -0
  154. data/test/unit/test_tee_input.rb +304 -0
  155. data/test/unit/test_upload.rb +306 -0
  156. data/test/unit/test_util.rb +105 -0
  157. data/unicorn.gemspec +50 -0
  158. metadata +310 -0
data/unicorn.gemspec ADDED
@@ -0,0 +1,50 @@
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-simon}
17
+ s.version = ENV["VERSION"].dup
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
+ # technically we need ">= 1.9.3", too, but avoid the array here since
30
+ # old rubygems versions (1.8.23.2 at least) do not support multiple
31
+ # version requirements here.
32
+ s.required_ruby_version = '< 3.0'
33
+
34
+ # We do not have a hard dependency on rack, it's possible to load
35
+ # things which respond to #call. HTTP status lines in responses
36
+ # won't have descriptive text, only the numeric status.
37
+ s.add_development_dependency(%q<rack>)
38
+
39
+ s.add_dependency(%q<kgio>, '~> 2.6')
40
+ s.add_dependency(%q<raindrops>, '~> 0.7')
41
+
42
+ s.add_development_dependency('test-unit', '~> 3.0')
43
+ s.add_development_dependency('olddoc', '~> 1.2')
44
+
45
+ # Note: To avoid ambiguity, we intentionally avoid the SPDX-compatible
46
+ # 'Ruby' here since Ruby 1.9.3 switched to BSD-2-Clause, but we
47
+ # inherited our license from Mongrel when Ruby was at 1.8.
48
+ # We cannot automatically switch licenses when Ruby changes.
49
+ s.licenses = ['GPL-2.0+', 'Ruby-1.8']
50
+ end
metadata ADDED
@@ -0,0 +1,310 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: unicorn-simon
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - unicorn hackers
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: rack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
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.2'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.2'
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
+ - ".gitattributes"
126
+ - ".gitignore"
127
+ - ".mailmap"
128
+ - ".manifest"
129
+ - ".olddoc.yml"
130
+ - Application_Timeouts
131
+ - CONTRIBUTORS
132
+ - COPYING
133
+ - DESIGN
134
+ - Documentation/.gitignore
135
+ - Documentation/GNUmakefile
136
+ - Documentation/unicorn.1.txt
137
+ - Documentation/unicorn_rails.1.txt
138
+ - FAQ
139
+ - GIT-VERSION-FILE
140
+ - GIT-VERSION-GEN
141
+ - GNUmakefile
142
+ - HACKING
143
+ - ISSUES
144
+ - KNOWN_ISSUES
145
+ - LATEST
146
+ - LICENSE
147
+ - Links
148
+ - NEWS
149
+ - PHILOSOPHY
150
+ - README
151
+ - Rakefile
152
+ - SIGNALS
153
+ - Sandbox
154
+ - TODO
155
+ - TUNING
156
+ - archive/.gitignore
157
+ - archive/slrnpull.conf
158
+ - bin/unicorn
159
+ - bin/unicorn_rails
160
+ - examples/big_app_gc.rb
161
+ - examples/echo.ru
162
+ - examples/init.sh
163
+ - examples/logger_mp_safe.rb
164
+ - examples/logrotate.conf
165
+ - examples/nginx.conf
166
+ - examples/unicorn.conf.minimal.rb
167
+ - examples/unicorn.conf.rb
168
+ - examples/unicorn.socket
169
+ - examples/unicorn@.service
170
+ - ext/unicorn_http/CFLAGS
171
+ - ext/unicorn_http/c_util.h
172
+ - ext/unicorn_http/common_field_optimization.h
173
+ - ext/unicorn_http/ext_help.h
174
+ - ext/unicorn_http/extconf.rb
175
+ - ext/unicorn_http/global_variables.h
176
+ - ext/unicorn_http/httpdate.c
177
+ - ext/unicorn_http/unicorn_http.c
178
+ - ext/unicorn_http/unicorn_http.rl
179
+ - ext/unicorn_http/unicorn_http_common.rl
180
+ - lib/unicorn.rb
181
+ - lib/unicorn/app/old_rails.rb
182
+ - lib/unicorn/app/old_rails/static.rb
183
+ - lib/unicorn/cgi_wrapper.rb
184
+ - lib/unicorn/configurator.rb
185
+ - lib/unicorn/const.rb
186
+ - lib/unicorn/http_request.rb
187
+ - lib/unicorn/http_response.rb
188
+ - lib/unicorn/http_server.rb
189
+ - lib/unicorn/launcher.rb
190
+ - lib/unicorn/oob_gc.rb
191
+ - lib/unicorn/preread_input.rb
192
+ - lib/unicorn/socket_helper.rb
193
+ - lib/unicorn/stream_input.rb
194
+ - lib/unicorn/tee_input.rb
195
+ - lib/unicorn/tmpio.rb
196
+ - lib/unicorn/util.rb
197
+ - lib/unicorn/version.rb
198
+ - lib/unicorn/worker.rb
199
+ - man/man1/unicorn.1
200
+ - man/man1/unicorn_rails.1
201
+ - setup.rb
202
+ - t/.gitignore
203
+ - t/GNUmakefile
204
+ - t/README
205
+ - t/bin/content-md5-put
206
+ - t/bin/sha1sum.rb
207
+ - t/bin/unused_listen
208
+ - t/broken-app.ru
209
+ - t/detach.ru
210
+ - t/env.ru
211
+ - t/fails-rack-lint.ru
212
+ - t/heartbeat-timeout.ru
213
+ - t/hijack.ru
214
+ - t/listener_names.ru
215
+ - t/my-tap-lib.sh
216
+ - t/oob_gc.ru
217
+ - t/oob_gc_path.ru
218
+ - t/pid.ru
219
+ - t/preread_input.ru
220
+ - t/rack-input-tests.ru
221
+ - t/t0000-http-basic.sh
222
+ - t/t0001-reload-bad-config.sh
223
+ - t/t0002-config-conflict.sh
224
+ - t/t0002-parser-error.sh
225
+ - t/t0003-working_directory.sh
226
+ - t/t0004-heartbeat-timeout.sh
227
+ - t/t0004-working_directory_broken.sh
228
+ - t/t0005-working_directory_app.rb.sh
229
+ - t/t0006-reopen-logs.sh
230
+ - t/t0006.ru
231
+ - t/t0007-working_directory_no_embed_cli.sh
232
+ - t/t0008-back_out_of_upgrade.sh
233
+ - t/t0009-broken-app.sh
234
+ - t/t0009-winch_ttin.sh
235
+ - t/t0010-reap-logging.sh
236
+ - t/t0011-active-unix-socket.sh
237
+ - t/t0012-reload-empty-config.sh
238
+ - t/t0013-rewindable-input-false.sh
239
+ - t/t0013.ru
240
+ - t/t0014-rewindable-input-true.sh
241
+ - t/t0014.ru
242
+ - t/t0015-configurator-internals.sh
243
+ - t/t0018-write-on-close.sh
244
+ - t/t0019-max_header_len.sh
245
+ - t/t0020-at_exit-handler.sh
246
+ - t/t0021-process_detach.sh
247
+ - t/t0022-listener_names-preload_app.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: https://bogomips.org/unicorn/
280
+ licenses:
281
+ - GPL-2.0+
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: '3.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.8
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_server.rb
310
+ - test/unit/test_util.rb