unicorn-lb-patch 4.3.1.11.g21b8.dirty

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. data/.CHANGELOG.old +25 -0
  2. data/.document +29 -0
  3. data/.gitignore +25 -0
  4. data/.mailmap +26 -0
  5. data/.wrongdoc.yml +10 -0
  6. data/Application_Timeouts +77 -0
  7. data/CONTRIBUTORS +35 -0
  8. data/COPYING +674 -0
  9. data/DESIGN +97 -0
  10. data/Documentation/.gitignore +5 -0
  11. data/Documentation/GNUmakefile +30 -0
  12. data/Documentation/unicorn.1.txt +174 -0
  13. data/Documentation/unicorn_rails.1.txt +175 -0
  14. data/FAQ +53 -0
  15. data/GIT-VERSION-GEN +40 -0
  16. data/GNUmakefile +294 -0
  17. data/HACKING +134 -0
  18. data/ISSUES +36 -0
  19. data/KNOWN_ISSUES +79 -0
  20. data/LICENSE +64 -0
  21. data/Links +56 -0
  22. data/PHILOSOPHY +145 -0
  23. data/README +149 -0
  24. data/Rakefile +97 -0
  25. data/SIGNALS +114 -0
  26. data/Sandbox +96 -0
  27. data/TODO +5 -0
  28. data/TUNING +98 -0
  29. data/bin/unicorn +121 -0
  30. data/bin/unicorn_rails +209 -0
  31. data/examples/big_app_gc.rb +2 -0
  32. data/examples/echo.ru +27 -0
  33. data/examples/git.ru +13 -0
  34. data/examples/init.sh +74 -0
  35. data/examples/logger_mp_safe.rb +25 -0
  36. data/examples/logrotate.conf +29 -0
  37. data/examples/nginx.conf +156 -0
  38. data/examples/unicorn.conf.minimal.rb +13 -0
  39. data/examples/unicorn.conf.rb +94 -0
  40. data/ext/unicorn_http/CFLAGS +13 -0
  41. data/ext/unicorn_http/c_util.h +124 -0
  42. data/ext/unicorn_http/common_field_optimization.h +111 -0
  43. data/ext/unicorn_http/ext_help.h +86 -0
  44. data/ext/unicorn_http/extconf.rb +10 -0
  45. data/ext/unicorn_http/global_variables.h +97 -0
  46. data/ext/unicorn_http/httpdate.c +82 -0
  47. data/ext/unicorn_http/unicorn_http.rl +1036 -0
  48. data/ext/unicorn_http/unicorn_http_common.rl +76 -0
  49. data/lib/unicorn.rb +107 -0
  50. data/lib/unicorn/app/exec_cgi.rb +154 -0
  51. data/lib/unicorn/app/inetd.rb +109 -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 +630 -0
  56. data/lib/unicorn/const.rb +40 -0
  57. data/lib/unicorn/http_request.rb +77 -0
  58. data/lib/unicorn/http_response.rb +45 -0
  59. data/lib/unicorn/http_server.rb +755 -0
  60. data/lib/unicorn/launcher.rb +62 -0
  61. data/lib/unicorn/oob_gc.rb +71 -0
  62. data/lib/unicorn/preread_input.rb +33 -0
  63. data/lib/unicorn/socket_helper.rb +208 -0
  64. data/lib/unicorn/ssl_client.rb +11 -0
  65. data/lib/unicorn/ssl_configurator.rb +104 -0
  66. data/lib/unicorn/ssl_server.rb +42 -0
  67. data/lib/unicorn/stream_input.rb +149 -0
  68. data/lib/unicorn/tee_input.rb +126 -0
  69. data/lib/unicorn/tmpio.rb +29 -0
  70. data/lib/unicorn/util.rb +68 -0
  71. data/lib/unicorn/worker.rb +88 -0
  72. data/local.mk.sample +59 -0
  73. data/script/isolate_for_tests +50 -0
  74. data/setup.rb +1586 -0
  75. data/t/.gitignore +5 -0
  76. data/t/GNUmakefile +82 -0
  77. data/t/README +42 -0
  78. data/t/bin/content-md5-put +36 -0
  79. data/t/bin/sha1sum.rb +17 -0
  80. data/t/bin/unused_listen +40 -0
  81. data/t/bin/utee +12 -0
  82. data/t/broken-app.ru +12 -0
  83. data/t/detach.ru +11 -0
  84. data/t/env.ru +3 -0
  85. data/t/heartbeat-timeout.ru +12 -0
  86. data/t/listener_names.ru +4 -0
  87. data/t/my-tap-lib.sh +201 -0
  88. data/t/oob_gc.ru +21 -0
  89. data/t/oob_gc_path.ru +21 -0
  90. data/t/pid.ru +3 -0
  91. data/t/preread_input.ru +17 -0
  92. data/t/rack-input-tests.ru +21 -0
  93. data/t/rails3-app/.gitignore +4 -0
  94. data/t/rails3-app/Gemfile +26 -0
  95. data/t/rails3-app/Rakefile +10 -0
  96. data/t/rails3-app/app/controllers/application_controller.rb +4 -0
  97. data/t/rails3-app/app/helpers/application_helper.rb +2 -0
  98. data/t/rails3-app/app/views/layouts/application.html.erb +14 -0
  99. data/t/rails3-app/config.ru +4 -0
  100. data/t/rails3-app/config/application.rb +46 -0
  101. data/t/rails3-app/config/boot.rb +6 -0
  102. data/t/rails3-app/config/database.yml +22 -0
  103. data/t/rails3-app/config/environment.rb +5 -0
  104. data/t/rails3-app/config/environments/development.rb +19 -0
  105. data/t/rails3-app/config/environments/production.rb +42 -0
  106. data/t/rails3-app/config/environments/test.rb +32 -0
  107. data/t/rails3-app/config/initializers/backtrace_silencers.rb +7 -0
  108. data/t/rails3-app/config/initializers/inflections.rb +10 -0
  109. data/t/rails3-app/config/initializers/mime_types.rb +5 -0
  110. data/t/rails3-app/config/initializers/secret_token.rb +7 -0
  111. data/t/rails3-app/config/initializers/session_store.rb +8 -0
  112. data/t/rails3-app/config/locales/en.yml +5 -0
  113. data/t/rails3-app/config/routes.rb +58 -0
  114. data/t/rails3-app/db/seeds.rb +7 -0
  115. data/t/rails3-app/doc/README_FOR_APP +2 -0
  116. data/t/rails3-app/lib/tasks/.gitkeep +0 -0
  117. data/t/rails3-app/public/404.html +1 -0
  118. data/t/rails3-app/public/500.html +1 -0
  119. data/t/rails3-app/public/x.txt +1 -0
  120. data/t/rails3-app/script/rails +9 -0
  121. data/t/rails3-app/test/performance/browsing_test.rb +9 -0
  122. data/t/rails3-app/test/test_helper.rb +13 -0
  123. data/t/rails3-app/vendor/plugins/.gitkeep +0 -0
  124. data/t/sslgen.sh +71 -0
  125. data/t/t0000-http-basic.sh +50 -0
  126. data/t/t0001-reload-bad-config.sh +53 -0
  127. data/t/t0002-config-conflict.sh +49 -0
  128. data/t/t0002-parser-error.sh +94 -0
  129. data/t/t0003-working_directory.sh +51 -0
  130. data/t/t0004-heartbeat-timeout.sh +69 -0
  131. data/t/t0004-working_directory_broken.sh +24 -0
  132. data/t/t0005-working_directory_app.rb.sh +37 -0
  133. data/t/t0006-reopen-logs.sh +83 -0
  134. data/t/t0006.ru +13 -0
  135. data/t/t0007-working_directory_no_embed_cli.sh +44 -0
  136. data/t/t0008-back_out_of_upgrade.sh +110 -0
  137. data/t/t0009-broken-app.sh +56 -0
  138. data/t/t0009-winch_ttin.sh +59 -0
  139. data/t/t0010-reap-logging.sh +55 -0
  140. data/t/t0011-active-unix-socket.sh +79 -0
  141. data/t/t0012-reload-empty-config.sh +85 -0
  142. data/t/t0013-rewindable-input-false.sh +24 -0
  143. data/t/t0013.ru +12 -0
  144. data/t/t0014-rewindable-input-true.sh +24 -0
  145. data/t/t0014.ru +12 -0
  146. data/t/t0015-configurator-internals.sh +25 -0
  147. data/t/t0016-trust-x-forwarded-false.sh +30 -0
  148. data/t/t0017-trust-x-forwarded-true.sh +30 -0
  149. data/t/t0018-write-on-close.sh +23 -0
  150. data/t/t0019-max_header_len.sh +49 -0
  151. data/t/t0020-at_exit-handler.sh +49 -0
  152. data/t/t0021-process_detach.sh +29 -0
  153. data/t/t0022-listener-names-preload_app.sh +32 -0
  154. data/t/t0100-rack-input-tests.sh +124 -0
  155. data/t/t0116-client_body_buffer_size.sh +80 -0
  156. data/t/t0116.ru +16 -0
  157. data/t/t0300-rails3-basic.sh +28 -0
  158. data/t/t0301-rails3-missing-config-ru.sh +33 -0
  159. data/t/t0302-rails3-alt-working_directory.sh +32 -0
  160. data/t/t0303-rails3-alt-working_directory_config.ru.sh +56 -0
  161. data/t/t0304-rails3-alt-working_directory_no_embed_cli.sh +52 -0
  162. data/t/t0600-https-server-basic.sh +48 -0
  163. data/t/t9000-preread-input.sh +48 -0
  164. data/t/t9001-oob_gc.sh +47 -0
  165. data/t/t9002-oob_gc-path.sh +75 -0
  166. data/t/test-lib.sh +113 -0
  167. data/t/test-rails3.sh +27 -0
  168. data/t/write-on-close.ru +11 -0
  169. data/test/aggregate.rb +15 -0
  170. data/test/benchmark/README +50 -0
  171. data/test/benchmark/dd.ru +18 -0
  172. data/test/benchmark/stack.ru +8 -0
  173. data/test/exec/README +5 -0
  174. data/test/exec/test_exec.rb +1055 -0
  175. data/test/rails/app-1.2.3/.gitignore +2 -0
  176. data/test/rails/app-1.2.3/Rakefile +7 -0
  177. data/test/rails/app-1.2.3/app/controllers/application.rb +6 -0
  178. data/test/rails/app-1.2.3/app/controllers/foo_controller.rb +36 -0
  179. data/test/rails/app-1.2.3/app/helpers/application_helper.rb +4 -0
  180. data/test/rails/app-1.2.3/config/boot.rb +11 -0
  181. data/test/rails/app-1.2.3/config/database.yml +12 -0
  182. data/test/rails/app-1.2.3/config/environment.rb +13 -0
  183. data/test/rails/app-1.2.3/config/environments/development.rb +9 -0
  184. data/test/rails/app-1.2.3/config/environments/production.rb +5 -0
  185. data/test/rails/app-1.2.3/config/routes.rb +6 -0
  186. data/test/rails/app-1.2.3/db/.gitignore +0 -0
  187. data/test/rails/app-1.2.3/public/404.html +1 -0
  188. data/test/rails/app-1.2.3/public/500.html +1 -0
  189. data/test/rails/app-2.0.2/.gitignore +2 -0
  190. data/test/rails/app-2.0.2/Rakefile +7 -0
  191. data/test/rails/app-2.0.2/app/controllers/application.rb +4 -0
  192. data/test/rails/app-2.0.2/app/controllers/foo_controller.rb +36 -0
  193. data/test/rails/app-2.0.2/app/helpers/application_helper.rb +4 -0
  194. data/test/rails/app-2.0.2/config/boot.rb +11 -0
  195. data/test/rails/app-2.0.2/config/database.yml +12 -0
  196. data/test/rails/app-2.0.2/config/environment.rb +17 -0
  197. data/test/rails/app-2.0.2/config/environments/development.rb +8 -0
  198. data/test/rails/app-2.0.2/config/environments/production.rb +5 -0
  199. data/test/rails/app-2.0.2/config/routes.rb +6 -0
  200. data/test/rails/app-2.0.2/db/.gitignore +0 -0
  201. data/test/rails/app-2.0.2/public/404.html +1 -0
  202. data/test/rails/app-2.0.2/public/500.html +1 -0
  203. data/test/rails/app-2.1.2/.gitignore +2 -0
  204. data/test/rails/app-2.1.2/Rakefile +7 -0
  205. data/test/rails/app-2.1.2/app/controllers/application.rb +4 -0
  206. data/test/rails/app-2.1.2/app/controllers/foo_controller.rb +36 -0
  207. data/test/rails/app-2.1.2/app/helpers/application_helper.rb +4 -0
  208. data/test/rails/app-2.1.2/config/boot.rb +111 -0
  209. data/test/rails/app-2.1.2/config/database.yml +12 -0
  210. data/test/rails/app-2.1.2/config/environment.rb +17 -0
  211. data/test/rails/app-2.1.2/config/environments/development.rb +7 -0
  212. data/test/rails/app-2.1.2/config/environments/production.rb +5 -0
  213. data/test/rails/app-2.1.2/config/routes.rb +6 -0
  214. data/test/rails/app-2.1.2/db/.gitignore +0 -0
  215. data/test/rails/app-2.1.2/public/404.html +1 -0
  216. data/test/rails/app-2.1.2/public/500.html +1 -0
  217. data/test/rails/app-2.2.2/.gitignore +2 -0
  218. data/test/rails/app-2.2.2/Rakefile +7 -0
  219. data/test/rails/app-2.2.2/app/controllers/application.rb +4 -0
  220. data/test/rails/app-2.2.2/app/controllers/foo_controller.rb +36 -0
  221. data/test/rails/app-2.2.2/app/helpers/application_helper.rb +4 -0
  222. data/test/rails/app-2.2.2/config/boot.rb +111 -0
  223. data/test/rails/app-2.2.2/config/database.yml +12 -0
  224. data/test/rails/app-2.2.2/config/environment.rb +17 -0
  225. data/test/rails/app-2.2.2/config/environments/development.rb +7 -0
  226. data/test/rails/app-2.2.2/config/environments/production.rb +5 -0
  227. data/test/rails/app-2.2.2/config/routes.rb +6 -0
  228. data/test/rails/app-2.2.2/db/.gitignore +0 -0
  229. data/test/rails/app-2.2.2/public/404.html +1 -0
  230. data/test/rails/app-2.2.2/public/500.html +1 -0
  231. data/test/rails/test_rails.rb +287 -0
  232. data/test/test_helper.rb +300 -0
  233. data/test/unit/test_configurator.rb +158 -0
  234. data/test/unit/test_droplet.rb +28 -0
  235. data/test/unit/test_http_parser.rb +860 -0
  236. data/test/unit/test_http_parser_ng.rb +716 -0
  237. data/test/unit/test_http_parser_xftrust.rb +38 -0
  238. data/test/unit/test_request.rb +197 -0
  239. data/test/unit/test_response.rb +99 -0
  240. data/test/unit/test_server.rb +289 -0
  241. data/test/unit/test_signals.rb +207 -0
  242. data/test/unit/test_sni_hostnames.rb +47 -0
  243. data/test/unit/test_socket_helper.rb +192 -0
  244. data/test/unit/test_stream_input.rb +204 -0
  245. data/test/unit/test_tee_input.rb +296 -0
  246. data/test/unit/test_upload.rb +306 -0
  247. data/test/unit/test_util.rb +100 -0
  248. data/unicorn-lb-patch.gemspec +27 -0
  249. metadata +561 -0
@@ -0,0 +1,100 @@
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
+ assert_nothing_raised { tmp.close! }
22
+ assert_nothing_raised { 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
+ assert_nothing_raised { tmp.close! }
47
+ assert_nothing_raised { to.close! }
48
+ assert_nothing_raised { 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
+ assert_nothing_raised { 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
+ assert_equal int, fp.internal_encoding
84
+ File.unlink(tmp_path)
85
+ assert ! File.exist?(tmp_path)
86
+ Unicorn::Util.reopen_logs
87
+ assert_equal tmp_path, fp.path
88
+ assert File.exist?(tmp_path)
89
+ assert_equal fp.stat.inspect, File.stat(tmp_path).inspect
90
+ assert_equal ext, fp.external_encoding
91
+ assert_equal int, fp.internal_encoding
92
+ assert_equal(EXPECT_FLAGS, EXPECT_FLAGS & fp.fcntl(Fcntl::F_GETFL))
93
+ assert fp.sync
94
+ }
95
+ }
96
+ }
97
+ assert_nothing_raised { tmp.close! }
98
+ end if STDIN.respond_to?(:external_encoding)
99
+
100
+ end
@@ -0,0 +1,27 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{unicorn-lb-patch}
3
+ s.version = '4.3.1.11.g21b8.dirty'
4
+ s.authors = ['David Guthu', "Unicorn Hackers"]
5
+ s.summary = 'Unicorn, but with patch for h12 timeouts on heroku - thanks eric wong'
6
+ s.date = Time.now.utc.strftime('%Y-%m-%d')
7
+ s.description = 'Unicorn, but with patch for h12 timeouts on heroku'
8
+ s.email = %q{davidguthu@gmail.com}
9
+ s.executables = %w(unicorn unicorn_rails)
10
+ s.extensions = %w(ext/unicorn_http/extconf.rb)
11
+ s.files = `git ls-files`.split($\)
12
+ s.homepage = 'https://github.com/davidguthu/unicorn-lb-patch'
13
+ s.test_files = Dir.glob('{test,t}/**/*')
14
+
15
+ # for people that are absolutely stuck on Rails 2.3.2 and can't
16
+ # up/downgrade to any other version, the Rack dependency may be
17
+ # commented out. Nevertheless, upgrading to Rails 2.3.4 or later is
18
+ # *strongly* recommended for security reasons.
19
+ s.add_dependency(%q<rack>)
20
+ s.add_dependency(%q<kgio>, '~> 2.6')
21
+ s.add_dependency(%q<raindrops>, '~> 0.7')
22
+
23
+ s.add_development_dependency('isolate', '~> 3.2')
24
+ s.add_development_dependency('wrongdoc', '~> 1.6.1')
25
+
26
+ # s.licenses = %w(GPLv2 Ruby) # licenses= method is not in older RubyGems
27
+ end
metadata ADDED
@@ -0,0 +1,561 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: unicorn-lb-patch
3
+ version: !ruby/object:Gem::Version
4
+ hash: 15078010812
5
+ prerelease: 9
6
+ segments:
7
+ - 4
8
+ - 3
9
+ - 1
10
+ - 11
11
+ - g
12
+ - 21
13
+ - b
14
+ - 8
15
+ - dirty
16
+ version: 4.3.1.11.g21b8.dirty
17
+ platform: ruby
18
+ authors:
19
+ - David Guthu
20
+ - Unicorn Hackers
21
+ autorequire:
22
+ bindir: bin
23
+ cert_chain: []
24
+
25
+ date: 2012-07-10 00:00:00 Z
26
+ dependencies:
27
+ - !ruby/object:Gem::Dependency
28
+ name: rack
29
+ prerelease: false
30
+ requirement: &id001 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ hash: 3
36
+ segments:
37
+ - 0
38
+ version: "0"
39
+ type: :runtime
40
+ version_requirements: *id001
41
+ - !ruby/object:Gem::Dependency
42
+ name: kgio
43
+ prerelease: false
44
+ requirement: &id002 !ruby/object:Gem::Requirement
45
+ none: false
46
+ requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ hash: 15
50
+ segments:
51
+ - 2
52
+ - 6
53
+ version: "2.6"
54
+ type: :runtime
55
+ version_requirements: *id002
56
+ - !ruby/object:Gem::Dependency
57
+ name: raindrops
58
+ prerelease: false
59
+ requirement: &id003 !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ~>
63
+ - !ruby/object:Gem::Version
64
+ hash: 5
65
+ segments:
66
+ - 0
67
+ - 7
68
+ version: "0.7"
69
+ type: :runtime
70
+ version_requirements: *id003
71
+ - !ruby/object:Gem::Dependency
72
+ name: isolate
73
+ prerelease: false
74
+ requirement: &id004 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ hash: 3
80
+ segments:
81
+ - 3
82
+ - 2
83
+ version: "3.2"
84
+ type: :development
85
+ version_requirements: *id004
86
+ - !ruby/object:Gem::Dependency
87
+ name: wrongdoc
88
+ prerelease: false
89
+ requirement: &id005 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ hash: 13
95
+ segments:
96
+ - 1
97
+ - 6
98
+ - 1
99
+ version: 1.6.1
100
+ type: :development
101
+ version_requirements: *id005
102
+ description: Unicorn, but with patch for h12 timeouts on heroku
103
+ email: davidguthu@gmail.com
104
+ executables:
105
+ - unicorn
106
+ - unicorn_rails
107
+ extensions:
108
+ - ext/unicorn_http/extconf.rb
109
+ extra_rdoc_files: []
110
+
111
+ files:
112
+ - .CHANGELOG.old
113
+ - .document
114
+ - .gitignore
115
+ - .mailmap
116
+ - .manifest
117
+ - .wrongdoc.yml
118
+ - Application_Timeouts
119
+ - CONTRIBUTORS
120
+ - COPYING
121
+ - DESIGN
122
+ - Documentation/.gitignore
123
+ - Documentation/GNUmakefile
124
+ - Documentation/unicorn.1.txt
125
+ - Documentation/unicorn_rails.1.txt
126
+ - FAQ
127
+ - GIT-VERSION-GEN
128
+ - GNUmakefile
129
+ - HACKING
130
+ - ISSUES
131
+ - KNOWN_ISSUES
132
+ - LICENSE
133
+ - Links
134
+ - PHILOSOPHY
135
+ - README
136
+ - Rakefile
137
+ - SIGNALS
138
+ - Sandbox
139
+ - TODO
140
+ - TUNING
141
+ - bin/unicorn
142
+ - bin/unicorn_rails
143
+ - examples/big_app_gc.rb
144
+ - examples/echo.ru
145
+ - examples/git.ru
146
+ - examples/init.sh
147
+ - examples/logger_mp_safe.rb
148
+ - examples/logrotate.conf
149
+ - examples/nginx.conf
150
+ - examples/unicorn.conf.minimal.rb
151
+ - examples/unicorn.conf.rb
152
+ - ext/unicorn_http/CFLAGS
153
+ - ext/unicorn_http/c_util.h
154
+ - ext/unicorn_http/common_field_optimization.h
155
+ - ext/unicorn_http/ext_help.h
156
+ - ext/unicorn_http/extconf.rb
157
+ - ext/unicorn_http/global_variables.h
158
+ - ext/unicorn_http/httpdate.c
159
+ - ext/unicorn_http/unicorn_http.rl
160
+ - ext/unicorn_http/unicorn_http_common.rl
161
+ - lib/unicorn.rb
162
+ - lib/unicorn/app/exec_cgi.rb
163
+ - lib/unicorn/app/inetd.rb
164
+ - lib/unicorn/app/old_rails.rb
165
+ - lib/unicorn/app/old_rails/static.rb
166
+ - lib/unicorn/cgi_wrapper.rb
167
+ - lib/unicorn/configurator.rb
168
+ - lib/unicorn/const.rb
169
+ - lib/unicorn/http_request.rb
170
+ - lib/unicorn/http_response.rb
171
+ - lib/unicorn/http_server.rb
172
+ - lib/unicorn/launcher.rb
173
+ - lib/unicorn/oob_gc.rb
174
+ - lib/unicorn/preread_input.rb
175
+ - lib/unicorn/socket_helper.rb
176
+ - lib/unicorn/ssl_client.rb
177
+ - lib/unicorn/ssl_configurator.rb
178
+ - lib/unicorn/ssl_server.rb
179
+ - lib/unicorn/stream_input.rb
180
+ - lib/unicorn/tee_input.rb
181
+ - lib/unicorn/tmpio.rb
182
+ - lib/unicorn/util.rb
183
+ - lib/unicorn/worker.rb
184
+ - local.mk.sample
185
+ - script/isolate_for_tests
186
+ - setup.rb
187
+ - t/.gitignore
188
+ - t/GNUmakefile
189
+ - t/README
190
+ - t/bin/content-md5-put
191
+ - t/bin/sha1sum.rb
192
+ - t/bin/unused_listen
193
+ - t/bin/utee
194
+ - t/broken-app.ru
195
+ - t/detach.ru
196
+ - t/env.ru
197
+ - t/heartbeat-timeout.ru
198
+ - t/listener_names.ru
199
+ - t/my-tap-lib.sh
200
+ - t/oob_gc.ru
201
+ - t/oob_gc_path.ru
202
+ - t/pid.ru
203
+ - t/preread_input.ru
204
+ - t/rack-input-tests.ru
205
+ - t/rails3-app/.gitignore
206
+ - t/rails3-app/Gemfile
207
+ - t/rails3-app/Rakefile
208
+ - t/rails3-app/app/controllers/application_controller.rb
209
+ - t/rails3-app/app/helpers/application_helper.rb
210
+ - t/rails3-app/app/views/layouts/application.html.erb
211
+ - t/rails3-app/config.ru
212
+ - t/rails3-app/config/application.rb
213
+ - t/rails3-app/config/boot.rb
214
+ - t/rails3-app/config/database.yml
215
+ - t/rails3-app/config/environment.rb
216
+ - t/rails3-app/config/environments/development.rb
217
+ - t/rails3-app/config/environments/production.rb
218
+ - t/rails3-app/config/environments/test.rb
219
+ - t/rails3-app/config/initializers/backtrace_silencers.rb
220
+ - t/rails3-app/config/initializers/inflections.rb
221
+ - t/rails3-app/config/initializers/mime_types.rb
222
+ - t/rails3-app/config/initializers/secret_token.rb
223
+ - t/rails3-app/config/initializers/session_store.rb
224
+ - t/rails3-app/config/locales/en.yml
225
+ - t/rails3-app/config/routes.rb
226
+ - t/rails3-app/db/seeds.rb
227
+ - t/rails3-app/doc/README_FOR_APP
228
+ - t/rails3-app/lib/tasks/.gitkeep
229
+ - t/rails3-app/public/404.html
230
+ - t/rails3-app/public/500.html
231
+ - t/rails3-app/public/x.txt
232
+ - t/rails3-app/script/rails
233
+ - t/rails3-app/test/performance/browsing_test.rb
234
+ - t/rails3-app/test/test_helper.rb
235
+ - t/rails3-app/vendor/plugins/.gitkeep
236
+ - t/sslgen.sh
237
+ - t/t0000-http-basic.sh
238
+ - t/t0001-reload-bad-config.sh
239
+ - t/t0002-config-conflict.sh
240
+ - t/t0002-parser-error.sh
241
+ - t/t0003-working_directory.sh
242
+ - t/t0004-heartbeat-timeout.sh
243
+ - t/t0004-working_directory_broken.sh
244
+ - t/t0005-working_directory_app.rb.sh
245
+ - t/t0006-reopen-logs.sh
246
+ - t/t0006.ru
247
+ - t/t0007-working_directory_no_embed_cli.sh
248
+ - t/t0008-back_out_of_upgrade.sh
249
+ - t/t0009-broken-app.sh
250
+ - t/t0009-winch_ttin.sh
251
+ - t/t0010-reap-logging.sh
252
+ - t/t0011-active-unix-socket.sh
253
+ - t/t0012-reload-empty-config.sh
254
+ - t/t0013-rewindable-input-false.sh
255
+ - t/t0013.ru
256
+ - t/t0014-rewindable-input-true.sh
257
+ - t/t0014.ru
258
+ - t/t0015-configurator-internals.sh
259
+ - t/t0016-trust-x-forwarded-false.sh
260
+ - t/t0017-trust-x-forwarded-true.sh
261
+ - t/t0018-write-on-close.sh
262
+ - t/t0019-max_header_len.sh
263
+ - t/t0020-at_exit-handler.sh
264
+ - t/t0021-process_detach.sh
265
+ - t/t0022-listener-names-preload_app.sh
266
+ - t/t0100-rack-input-tests.sh
267
+ - t/t0116-client_body_buffer_size.sh
268
+ - t/t0116.ru
269
+ - t/t0300-rails3-basic.sh
270
+ - t/t0301-rails3-missing-config-ru.sh
271
+ - t/t0302-rails3-alt-working_directory.sh
272
+ - t/t0303-rails3-alt-working_directory_config.ru.sh
273
+ - t/t0304-rails3-alt-working_directory_no_embed_cli.sh
274
+ - t/t0600-https-server-basic.sh
275
+ - t/t9000-preread-input.sh
276
+ - t/t9001-oob_gc.sh
277
+ - t/t9002-oob_gc-path.sh
278
+ - t/test-lib.sh
279
+ - t/test-rails3.sh
280
+ - t/write-on-close.ru
281
+ - test/aggregate.rb
282
+ - test/benchmark/README
283
+ - test/benchmark/dd.ru
284
+ - test/benchmark/stack.ru
285
+ - test/exec/README
286
+ - test/exec/test_exec.rb
287
+ - test/rails/app-1.2.3/.gitignore
288
+ - test/rails/app-1.2.3/Rakefile
289
+ - test/rails/app-1.2.3/app/controllers/application.rb
290
+ - test/rails/app-1.2.3/app/controllers/foo_controller.rb
291
+ - test/rails/app-1.2.3/app/helpers/application_helper.rb
292
+ - test/rails/app-1.2.3/config/boot.rb
293
+ - test/rails/app-1.2.3/config/database.yml
294
+ - test/rails/app-1.2.3/config/environment.rb
295
+ - test/rails/app-1.2.3/config/environments/development.rb
296
+ - test/rails/app-1.2.3/config/environments/production.rb
297
+ - test/rails/app-1.2.3/config/routes.rb
298
+ - test/rails/app-1.2.3/db/.gitignore
299
+ - test/rails/app-1.2.3/log/.gitignore
300
+ - test/rails/app-1.2.3/public/404.html
301
+ - test/rails/app-1.2.3/public/500.html
302
+ - test/rails/app-2.0.2/.gitignore
303
+ - test/rails/app-2.0.2/Rakefile
304
+ - test/rails/app-2.0.2/app/controllers/application.rb
305
+ - test/rails/app-2.0.2/app/controllers/foo_controller.rb
306
+ - test/rails/app-2.0.2/app/helpers/application_helper.rb
307
+ - test/rails/app-2.0.2/config/boot.rb
308
+ - test/rails/app-2.0.2/config/database.yml
309
+ - test/rails/app-2.0.2/config/environment.rb
310
+ - test/rails/app-2.0.2/config/environments/development.rb
311
+ - test/rails/app-2.0.2/config/environments/production.rb
312
+ - test/rails/app-2.0.2/config/routes.rb
313
+ - test/rails/app-2.0.2/db/.gitignore
314
+ - test/rails/app-2.0.2/log/.gitignore
315
+ - test/rails/app-2.0.2/public/404.html
316
+ - test/rails/app-2.0.2/public/500.html
317
+ - test/rails/app-2.1.2/.gitignore
318
+ - test/rails/app-2.1.2/Rakefile
319
+ - test/rails/app-2.1.2/app/controllers/application.rb
320
+ - test/rails/app-2.1.2/app/controllers/foo_controller.rb
321
+ - test/rails/app-2.1.2/app/helpers/application_helper.rb
322
+ - test/rails/app-2.1.2/config/boot.rb
323
+ - test/rails/app-2.1.2/config/database.yml
324
+ - test/rails/app-2.1.2/config/environment.rb
325
+ - test/rails/app-2.1.2/config/environments/development.rb
326
+ - test/rails/app-2.1.2/config/environments/production.rb
327
+ - test/rails/app-2.1.2/config/routes.rb
328
+ - test/rails/app-2.1.2/db/.gitignore
329
+ - test/rails/app-2.1.2/log/.gitignore
330
+ - test/rails/app-2.1.2/public/404.html
331
+ - test/rails/app-2.1.2/public/500.html
332
+ - test/rails/app-2.2.2/.gitignore
333
+ - test/rails/app-2.2.2/Rakefile
334
+ - test/rails/app-2.2.2/app/controllers/application.rb
335
+ - test/rails/app-2.2.2/app/controllers/foo_controller.rb
336
+ - test/rails/app-2.2.2/app/helpers/application_helper.rb
337
+ - test/rails/app-2.2.2/config/boot.rb
338
+ - test/rails/app-2.2.2/config/database.yml
339
+ - test/rails/app-2.2.2/config/environment.rb
340
+ - test/rails/app-2.2.2/config/environments/development.rb
341
+ - test/rails/app-2.2.2/config/environments/production.rb
342
+ - test/rails/app-2.2.2/config/routes.rb
343
+ - test/rails/app-2.2.2/db/.gitignore
344
+ - test/rails/app-2.2.2/log/.gitignore
345
+ - test/rails/app-2.2.2/public/404.html
346
+ - test/rails/app-2.2.2/public/500.html
347
+ - test/rails/test_rails.rb
348
+ - test/test_helper.rb
349
+ - test/unit/test_configurator.rb
350
+ - test/unit/test_droplet.rb
351
+ - test/unit/test_http_parser.rb
352
+ - test/unit/test_http_parser_ng.rb
353
+ - test/unit/test_http_parser_xftrust.rb
354
+ - test/unit/test_request.rb
355
+ - test/unit/test_response.rb
356
+ - test/unit/test_server.rb
357
+ - test/unit/test_signals.rb
358
+ - test/unit/test_sni_hostnames.rb
359
+ - test/unit/test_socket_helper.rb
360
+ - test/unit/test_stream_input.rb
361
+ - test/unit/test_tee_input.rb
362
+ - test/unit/test_upload.rb
363
+ - test/unit/test_util.rb
364
+ - unicorn-lb-patch.gemspec
365
+ homepage: https://github.com/davidguthu/unicorn-lb-patch
366
+ licenses: []
367
+
368
+ post_install_message:
369
+ rdoc_options: []
370
+
371
+ require_paths:
372
+ - lib
373
+ required_ruby_version: !ruby/object:Gem::Requirement
374
+ none: false
375
+ requirements:
376
+ - - ">="
377
+ - !ruby/object:Gem::Version
378
+ hash: 3
379
+ segments:
380
+ - 0
381
+ version: "0"
382
+ required_rubygems_version: !ruby/object:Gem::Requirement
383
+ none: false
384
+ requirements:
385
+ - - ">"
386
+ - !ruby/object:Gem::Version
387
+ hash: 25
388
+ segments:
389
+ - 1
390
+ - 3
391
+ - 1
392
+ version: 1.3.1
393
+ requirements: []
394
+
395
+ rubyforge_project:
396
+ rubygems_version: 1.8.24
397
+ signing_key:
398
+ specification_version: 3
399
+ summary: Unicorn, but with patch for h12 timeouts on heroku - thanks eric wong
400
+ test_files:
401
+ - test/aggregate.rb
402
+ - test/benchmark/dd.ru
403
+ - test/benchmark/README
404
+ - test/benchmark/stack.ru
405
+ - test/exec/README
406
+ - test/exec/test_exec.rb
407
+ - test/rails/app-1.2.3/app/controllers/application.rb
408
+ - test/rails/app-1.2.3/app/controllers/foo_controller.rb
409
+ - test/rails/app-1.2.3/app/helpers/application_helper.rb
410
+ - test/rails/app-1.2.3/config/boot.rb
411
+ - test/rails/app-1.2.3/config/database.yml
412
+ - test/rails/app-1.2.3/config/environment.rb
413
+ - test/rails/app-1.2.3/config/environments/development.rb
414
+ - test/rails/app-1.2.3/config/environments/production.rb
415
+ - test/rails/app-1.2.3/config/routes.rb
416
+ - test/rails/app-1.2.3/public/404.html
417
+ - test/rails/app-1.2.3/public/500.html
418
+ - test/rails/app-1.2.3/Rakefile
419
+ - test/rails/app-2.0.2/app/controllers/application.rb
420
+ - test/rails/app-2.0.2/app/controllers/foo_controller.rb
421
+ - test/rails/app-2.0.2/app/helpers/application_helper.rb
422
+ - test/rails/app-2.0.2/config/boot.rb
423
+ - test/rails/app-2.0.2/config/database.yml
424
+ - test/rails/app-2.0.2/config/environment.rb
425
+ - test/rails/app-2.0.2/config/environments/development.rb
426
+ - test/rails/app-2.0.2/config/environments/production.rb
427
+ - test/rails/app-2.0.2/config/routes.rb
428
+ - test/rails/app-2.0.2/public/404.html
429
+ - test/rails/app-2.0.2/public/500.html
430
+ - test/rails/app-2.0.2/Rakefile
431
+ - test/rails/app-2.1.2/app/controllers/application.rb
432
+ - test/rails/app-2.1.2/app/controllers/foo_controller.rb
433
+ - test/rails/app-2.1.2/app/helpers/application_helper.rb
434
+ - test/rails/app-2.1.2/config/boot.rb
435
+ - test/rails/app-2.1.2/config/database.yml
436
+ - test/rails/app-2.1.2/config/environment.rb
437
+ - test/rails/app-2.1.2/config/environments/development.rb
438
+ - test/rails/app-2.1.2/config/environments/production.rb
439
+ - test/rails/app-2.1.2/config/routes.rb
440
+ - test/rails/app-2.1.2/public/404.html
441
+ - test/rails/app-2.1.2/public/500.html
442
+ - test/rails/app-2.1.2/Rakefile
443
+ - test/rails/app-2.2.2/app/controllers/application.rb
444
+ - test/rails/app-2.2.2/app/controllers/foo_controller.rb
445
+ - test/rails/app-2.2.2/app/helpers/application_helper.rb
446
+ - test/rails/app-2.2.2/config/boot.rb
447
+ - test/rails/app-2.2.2/config/database.yml
448
+ - test/rails/app-2.2.2/config/environment.rb
449
+ - test/rails/app-2.2.2/config/environments/development.rb
450
+ - test/rails/app-2.2.2/config/environments/production.rb
451
+ - test/rails/app-2.2.2/config/routes.rb
452
+ - test/rails/app-2.2.2/public/404.html
453
+ - test/rails/app-2.2.2/public/500.html
454
+ - test/rails/app-2.2.2/Rakefile
455
+ - test/rails/test_rails.rb
456
+ - test/test_helper.rb
457
+ - test/unit/test_configurator.rb
458
+ - test/unit/test_droplet.rb
459
+ - test/unit/test_http_parser.rb
460
+ - test/unit/test_http_parser_ng.rb
461
+ - test/unit/test_http_parser_xftrust.rb
462
+ - test/unit/test_request.rb
463
+ - test/unit/test_response.rb
464
+ - test/unit/test_server.rb
465
+ - test/unit/test_signals.rb
466
+ - test/unit/test_sni_hostnames.rb
467
+ - test/unit/test_socket_helper.rb
468
+ - test/unit/test_stream_input.rb
469
+ - test/unit/test_tee_input.rb
470
+ - test/unit/test_upload.rb
471
+ - test/unit/test_util.rb
472
+ - t/bin/content-md5-put
473
+ - t/bin/sha1sum.rb
474
+ - t/bin/unused_listen
475
+ - t/bin/utee
476
+ - t/broken-app.ru
477
+ - t/detach.ru
478
+ - t/env.ru
479
+ - t/GNUmakefile
480
+ - t/heartbeat-timeout.ru
481
+ - t/listener_names.ru
482
+ - t/my-tap-lib.sh
483
+ - t/oob_gc.ru
484
+ - t/oob_gc_path.ru
485
+ - t/pid.ru
486
+ - t/preread_input.ru
487
+ - t/rack-input-tests.ru
488
+ - t/rails3-app/app/controllers/application_controller.rb
489
+ - t/rails3-app/app/helpers/application_helper.rb
490
+ - t/rails3-app/app/views/layouts/application.html.erb
491
+ - t/rails3-app/config/application.rb
492
+ - t/rails3-app/config/boot.rb
493
+ - t/rails3-app/config/database.yml
494
+ - t/rails3-app/config/environment.rb
495
+ - t/rails3-app/config/environments/development.rb
496
+ - t/rails3-app/config/environments/production.rb
497
+ - t/rails3-app/config/environments/test.rb
498
+ - t/rails3-app/config/initializers/backtrace_silencers.rb
499
+ - t/rails3-app/config/initializers/inflections.rb
500
+ - t/rails3-app/config/initializers/mime_types.rb
501
+ - t/rails3-app/config/initializers/secret_token.rb
502
+ - t/rails3-app/config/initializers/session_store.rb
503
+ - t/rails3-app/config/locales/en.yml
504
+ - t/rails3-app/config/routes.rb
505
+ - t/rails3-app/config.ru
506
+ - t/rails3-app/db/seeds.rb
507
+ - t/rails3-app/doc/README_FOR_APP
508
+ - t/rails3-app/Gemfile
509
+ - t/rails3-app/public/404.html
510
+ - t/rails3-app/public/500.html
511
+ - t/rails3-app/public/x.txt
512
+ - t/rails3-app/Rakefile
513
+ - t/rails3-app/script/rails
514
+ - t/rails3-app/test/performance/browsing_test.rb
515
+ - t/rails3-app/test/test_helper.rb
516
+ - t/README
517
+ - t/sslgen.sh
518
+ - t/t0000-http-basic.sh
519
+ - t/t0001-reload-bad-config.sh
520
+ - t/t0002-config-conflict.sh
521
+ - t/t0002-parser-error.sh
522
+ - t/t0003-working_directory.sh
523
+ - t/t0004-heartbeat-timeout.sh
524
+ - t/t0004-working_directory_broken.sh
525
+ - t/t0005-working_directory_app.rb.sh
526
+ - t/t0006-reopen-logs.sh
527
+ - t/t0006.ru
528
+ - t/t0007-working_directory_no_embed_cli.sh
529
+ - t/t0008-back_out_of_upgrade.sh
530
+ - t/t0009-broken-app.sh
531
+ - t/t0009-winch_ttin.sh
532
+ - t/t0010-reap-logging.sh
533
+ - t/t0011-active-unix-socket.sh
534
+ - t/t0012-reload-empty-config.sh
535
+ - t/t0013-rewindable-input-false.sh
536
+ - t/t0013.ru
537
+ - t/t0014-rewindable-input-true.sh
538
+ - t/t0014.ru
539
+ - t/t0015-configurator-internals.sh
540
+ - t/t0016-trust-x-forwarded-false.sh
541
+ - t/t0017-trust-x-forwarded-true.sh
542
+ - t/t0018-write-on-close.sh
543
+ - t/t0019-max_header_len.sh
544
+ - t/t0020-at_exit-handler.sh
545
+ - t/t0021-process_detach.sh
546
+ - t/t0022-listener-names-preload_app.sh
547
+ - t/t0100-rack-input-tests.sh
548
+ - t/t0116-client_body_buffer_size.sh
549
+ - t/t0116.ru
550
+ - t/t0300-rails3-basic.sh
551
+ - t/t0301-rails3-missing-config-ru.sh
552
+ - t/t0302-rails3-alt-working_directory.sh
553
+ - t/t0303-rails3-alt-working_directory_config.ru.sh
554
+ - t/t0304-rails3-alt-working_directory_no_embed_cli.sh
555
+ - t/t0600-https-server-basic.sh
556
+ - t/t9000-preread-input.sh
557
+ - t/t9001-oob_gc.sh
558
+ - t/t9002-oob_gc-path.sh
559
+ - t/test-lib.sh
560
+ - t/test-rails3.sh
561
+ - t/write-on-close.ru