mongrel 1.0.1 → 1.0.2

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 (263) hide show
  1. data.tar.gz.sig +2 -0
  2. data/CHANGELOG +2 -0
  3. data/Manifest +68 -0
  4. data/bin/mongrel_rails +55 -22
  5. data/examples/camping/README +3 -0
  6. data/examples/httpd.conf +474 -0
  7. data/examples/mime.yaml +3 -0
  8. data/examples/mongrel.conf +9 -0
  9. data/examples/monitrc +57 -0
  10. data/ext/http11/http11.c +25 -12
  11. data/ext/http11/http11_parser.c +456 -331
  12. data/ext/http11/http11_parser.h +1 -0
  13. data/ext/http11/http11_parser.java.rl +170 -0
  14. data/ext/http11/http11_parser.rl +8 -48
  15. data/ext/http11/http11_parser_common.rl +54 -0
  16. data/ext/http11/tst.h +2 -2
  17. data/ext/http11/tst_cleanup.c +0 -1
  18. data/ext/http11/tst_insert.c +29 -3
  19. data/ext/http11/tst_search.c +60 -55
  20. data/lib/mongrel.rb +68 -53
  21. data/lib/mongrel/cgi.rb +3 -3
  22. data/lib/mongrel/command.rb +1 -1
  23. data/lib/mongrel/configurator.rb +41 -31
  24. data/lib/mongrel/debug.rb +2 -5
  25. data/lib/mongrel/handlers.rb +23 -9
  26. data/lib/mongrel/mime_types.yml +2 -1
  27. data/lib/mongrel/rails.rb +7 -15
  28. data/mongrel-public_cert.pem +20 -0
  29. data/mongrel.gemspec +211 -0
  30. data/test/jruby_socket.rb +39 -0
  31. data/test/test_cgi_wrapper.rb +26 -0
  32. data/test/test_command.rb +1 -4
  33. data/test/test_conditional.rb +6 -18
  34. data/test/test_configurator.rb +5 -8
  35. data/test/test_debug.rb +3 -11
  36. data/test/test_handlers.rb +8 -10
  37. data/test/test_http11.rb +24 -5
  38. data/test/test_redirect_handler.rb +2 -6
  39. data/test/test_request_progress.rb +5 -9
  40. data/test/test_response.rb +24 -3
  41. data/test/test_stats.rb +1 -3
  42. data/test/test_uriclassifier.rb +170 -81
  43. data/test/test_ws.rb +25 -24
  44. data/test/testhelp.rb +26 -3
  45. data/tools/trickletest.rb +2 -2
  46. metadata +138 -333
  47. metadata.gz.sig +0 -0
  48. data/Rakefile +0 -117
  49. data/doc/rdoc/classes/IO.html +0 -170
  50. data/doc/rdoc/classes/IO.src/M000003.html +0 -19
  51. data/doc/rdoc/classes/IO.src/M000004.html +0 -19
  52. data/doc/rdoc/classes/Kernel.html +0 -159
  53. data/doc/rdoc/classes/Kernel.src/M000012.html +0 -19
  54. data/doc/rdoc/classes/Kernel.src/M000013.html +0 -23
  55. data/doc/rdoc/classes/Mongrel.html +0 -204
  56. data/doc/rdoc/classes/Mongrel/CGIWrapper.html +0 -404
  57. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html +0 -25
  58. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000116.html +0 -47
  59. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000117.html +0 -34
  60. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000118.html +0 -32
  61. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000119.html +0 -25
  62. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000120.html +0 -18
  63. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000121.html +0 -18
  64. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000122.html +0 -18
  65. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000123.html +0 -19
  66. data/doc/rdoc/classes/Mongrel/Camping.html +0 -177
  67. data/doc/rdoc/classes/Mongrel/Camping.src/M000041.html +0 -22
  68. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +0 -184
  69. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000042.html +0 -20
  70. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000043.html +0 -58
  71. data/doc/rdoc/classes/Mongrel/Command.html +0 -132
  72. data/doc/rdoc/classes/Mongrel/Command/Base.html +0 -384
  73. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html +0 -24
  74. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000019.html +0 -42
  75. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000020.html +0 -18
  76. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000021.html +0 -18
  77. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000022.html +0 -18
  78. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000023.html +0 -18
  79. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000024.html +0 -22
  80. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000025.html +0 -18
  81. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +0 -18
  82. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +0 -18
  83. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +0 -24
  84. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html +0 -24
  85. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html +0 -18
  86. data/doc/rdoc/classes/Mongrel/Command/Registry.html +0 -192
  87. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html +0 -20
  88. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000032.html +0 -29
  89. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000033.html +0 -58
  90. data/doc/rdoc/classes/Mongrel/Configurator.html +0 -716
  91. data/doc/rdoc/classes/Mongrel/Configurator.src/M000093.html +0 -27
  92. data/doc/rdoc/classes/Mongrel/Configurator.src/M000094.html +0 -31
  93. data/doc/rdoc/classes/Mongrel/Configurator.src/M000095.html +0 -18
  94. data/doc/rdoc/classes/Mongrel/Configurator.src/M000096.html +0 -21
  95. data/doc/rdoc/classes/Mongrel/Configurator.src/M000097.html +0 -20
  96. data/doc/rdoc/classes/Mongrel/Configurator.src/M000098.html +0 -23
  97. data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +0 -18
  98. data/doc/rdoc/classes/Mongrel/Configurator.src/M000100.html +0 -38
  99. data/doc/rdoc/classes/Mongrel/Configurator.src/M000101.html +0 -19
  100. data/doc/rdoc/classes/Mongrel/Configurator.src/M000102.html +0 -39
  101. data/doc/rdoc/classes/Mongrel/Configurator.src/M000103.html +0 -33
  102. data/doc/rdoc/classes/Mongrel/Configurator.src/M000104.html +0 -18
  103. data/doc/rdoc/classes/Mongrel/Configurator.src/M000105.html +0 -24
  104. data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +0 -19
  105. data/doc/rdoc/classes/Mongrel/Configurator.src/M000107.html +0 -18
  106. data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +0 -22
  107. data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +0 -22
  108. data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +0 -18
  109. data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +0 -34
  110. data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +0 -18
  111. data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +0 -36
  112. data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +0 -18
  113. data/doc/rdoc/classes/Mongrel/Const.html +0 -337
  114. data/doc/rdoc/classes/Mongrel/DeflateFilter.html +0 -188
  115. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000124.html +0 -19
  116. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000125.html +0 -23
  117. data/doc/rdoc/classes/Mongrel/DirHandler.html +0 -303
  118. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000051.html +0 -21
  119. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html +0 -42
  120. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000053.html +0 -38
  121. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000054.html +0 -65
  122. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000055.html +0 -39
  123. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html +0 -18
  124. data/doc/rdoc/classes/Mongrel/Error404Handler.html +0 -171
  125. data/doc/rdoc/classes/Mongrel/Error404Handler.src/M000126.html +0 -18
  126. data/doc/rdoc/classes/Mongrel/Error404Handler.src/M000127.html +0 -18
  127. data/doc/rdoc/classes/Mongrel/HeaderOut.html +0 -190
  128. data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000066.html +0 -21
  129. data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000067.html +0 -21
  130. data/doc/rdoc/classes/Mongrel/HttpHandler.html +0 -215
  131. data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000072.html +0 -17
  132. data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000073.html +0 -17
  133. data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000074.html +0 -17
  134. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +0 -210
  135. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000014.html +0 -17
  136. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000015.html +0 -17
  137. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000016.html +0 -19
  138. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000017.html +0 -17
  139. data/doc/rdoc/classes/Mongrel/HttpParams.html +0 -131
  140. data/doc/rdoc/classes/Mongrel/HttpParser.html +0 -278
  141. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000044.html +0 -28
  142. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000045.html +0 -29
  143. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000046.html +0 -29
  144. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000047.html +0 -59
  145. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000048.html +0 -27
  146. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000049.html +0 -27
  147. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000050.html +0 -28
  148. data/doc/rdoc/classes/Mongrel/HttpParserError.html +0 -111
  149. data/doc/rdoc/classes/Mongrel/HttpRequest.html +0 -284
  150. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000133.html +0 -50
  151. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000134.html +0 -41
  152. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000135.html +0 -29
  153. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000136.html +0 -20
  154. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000137.html +0 -20
  155. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html +0 -32
  156. data/doc/rdoc/classes/Mongrel/HttpResponse.html +0 -443
  157. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +0 -25
  158. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +0 -20
  159. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html +0 -26
  160. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html +0 -22
  161. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +0 -22
  162. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000080.html +0 -22
  163. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +0 -31
  164. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +0 -21
  165. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +0 -20
  166. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +0 -20
  167. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000085.html +0 -20
  168. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html +0 -18
  169. data/doc/rdoc/classes/Mongrel/HttpServer.html +0 -402
  170. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000057.html +0 -25
  171. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000058.html +0 -100
  172. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html +0 -32
  173. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html +0 -21
  174. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000061.html +0 -29
  175. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html +0 -65
  176. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html +0 -34
  177. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000064.html +0 -18
  178. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html +0 -22
  179. data/doc/rdoc/classes/Mongrel/Rails.html +0 -112
  180. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +0 -225
  181. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000034.html +0 -37
  182. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000035.html +0 -25
  183. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000036.html +0 -26
  184. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +0 -263
  185. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html +0 -23
  186. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html +0 -56
  187. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000039.html +0 -20
  188. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000040.html +0 -25
  189. data/doc/rdoc/classes/Mongrel/RedirectHandler.html +0 -187
  190. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/M000131.html +0 -22
  191. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/M000132.html +0 -27
  192. data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +0 -211
  193. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000128.html +0 -24
  194. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000129.html +0 -24
  195. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000130.html +0 -18
  196. data/doc/rdoc/classes/Mongrel/Stats.html +0 -309
  197. data/doc/rdoc/classes/Mongrel/Stats.src/M000139.html +0 -19
  198. data/doc/rdoc/classes/Mongrel/Stats.src/M000140.html +0 -23
  199. data/doc/rdoc/classes/Mongrel/Stats.src/M000141.html +0 -26
  200. data/doc/rdoc/classes/Mongrel/Stats.src/M000142.html +0 -18
  201. data/doc/rdoc/classes/Mongrel/Stats.src/M000143.html +0 -18
  202. data/doc/rdoc/classes/Mongrel/Stats.src/M000144.html +0 -18
  203. data/doc/rdoc/classes/Mongrel/Stats.src/M000145.html +0 -23
  204. data/doc/rdoc/classes/Mongrel/Stats.src/M000146.html +0 -20
  205. data/doc/rdoc/classes/Mongrel/StatusHandler.html +0 -194
  206. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000068.html +0 -18
  207. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000069.html +0 -24
  208. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000070.html +0 -42
  209. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html +0 -20
  210. data/doc/rdoc/classes/Mongrel/StopServer.html +0 -117
  211. data/doc/rdoc/classes/Mongrel/TimeoutError.html +0 -117
  212. data/doc/rdoc/classes/Mongrel/URIClassifier.html +0 -317
  213. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000087.html +0 -18
  214. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html +0 -18
  215. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html +0 -39
  216. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000090.html +0 -51
  217. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000091.html +0 -36
  218. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html +0 -83
  219. data/doc/rdoc/classes/MongrelDbg.html +0 -209
  220. data/doc/rdoc/classes/MongrelDbg.src/M000007.html +0 -24
  221. data/doc/rdoc/classes/MongrelDbg.src/M000008.html +0 -20
  222. data/doc/rdoc/classes/MongrelDbg.src/M000009.html +0 -22
  223. data/doc/rdoc/classes/MongrelDbg.src/M000010.html +0 -21
  224. data/doc/rdoc/classes/MongrelDbg.src/M000011.html +0 -18
  225. data/doc/rdoc/classes/Mutex.html +0 -158
  226. data/doc/rdoc/classes/Mutex.src/M000001.html +0 -24
  227. data/doc/rdoc/classes/Mutex.src/M000002.html +0 -32
  228. data/doc/rdoc/classes/RequestLog.html +0 -115
  229. data/doc/rdoc/classes/RequestLog/Access.html +0 -151
  230. data/doc/rdoc/classes/RequestLog/Access.src/M000147.html +0 -19
  231. data/doc/rdoc/classes/RequestLog/Files.html +0 -144
  232. data/doc/rdoc/classes/RequestLog/Files.src/M000148.html +0 -19
  233. data/doc/rdoc/classes/RequestLog/Objects.html +0 -150
  234. data/doc/rdoc/classes/RequestLog/Objects.src/M000150.html +0 -51
  235. data/doc/rdoc/classes/RequestLog/Params.html +0 -144
  236. data/doc/rdoc/classes/RequestLog/Params.src/M000151.html +0 -19
  237. data/doc/rdoc/classes/RequestLog/Threads.html +0 -144
  238. data/doc/rdoc/classes/RequestLog/Threads.src/M000149.html +0 -34
  239. data/doc/rdoc/classes/TCPServer.html +0 -173
  240. data/doc/rdoc/classes/TCPServer.src/M000005.html +0 -19
  241. data/doc/rdoc/created.rid +0 -1
  242. data/doc/rdoc/files/COPYING.html +0 -168
  243. data/doc/rdoc/files/LICENSE.html +0 -168
  244. data/doc/rdoc/files/README.html +0 -213
  245. data/doc/rdoc/files/ext/http11/http11_c.html +0 -101
  246. data/doc/rdoc/files/lib/mongrel/camping_rb.html +0 -120
  247. data/doc/rdoc/files/lib/mongrel/cgi_rb.html +0 -120
  248. data/doc/rdoc/files/lib/mongrel/command_rb.html +0 -123
  249. data/doc/rdoc/files/lib/mongrel/configurator_rb.html +0 -111
  250. data/doc/rdoc/files/lib/mongrel/debug_rb.html +0 -122
  251. data/doc/rdoc/files/lib/mongrel/handlers_rb.html +0 -122
  252. data/doc/rdoc/files/lib/mongrel/init_rb.html +0 -121
  253. data/doc/rdoc/files/lib/mongrel/rails_rb.html +0 -123
  254. data/doc/rdoc/files/lib/mongrel/stats_rb.html +0 -113
  255. data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +0 -113
  256. data/doc/rdoc/files/lib/mongrel_rb.html +0 -135
  257. data/doc/rdoc/files/lib/mutex_fix_rb.html +0 -108
  258. data/doc/rdoc/fr_class_index.html +0 -68
  259. data/doc/rdoc/fr_file_index.html +0 -42
  260. data/doc/rdoc/fr_method_index.html +0 -177
  261. data/doc/rdoc/index.html +0 -24
  262. data/doc/rdoc/rdoc-style.css +0 -208
  263. data/tools/rakehelp.rb +0 -117
@@ -4,11 +4,9 @@
4
4
  # Additional work donated by contributors. See http://mongrel.rubyforge.org/attributions.html
5
5
  # for more information.
6
6
 
7
- require 'test/unit'
8
- require 'net/http'
9
- require 'mongrel'
10
- require 'timeout'
11
- require File.dirname(__FILE__) + "/testhelp.rb"
7
+ require 'test/testhelp'
8
+
9
+ include Mongrel
12
10
 
13
11
  class TestHandler < Mongrel::HttpHandler
14
12
  attr_reader :ran_test
@@ -23,9 +21,10 @@ end
23
21
  class WebServerTest < Test::Unit::TestCase
24
22
 
25
23
  def setup
26
- @request = "GET / HTTP/1.1\r\nHost: www.zedshaw.com\r\nContent-Type: text/plain\r\n\r\n"
27
- # we set num_processors=1 so that we can test the reaping code
28
- @server = HttpServer.new("127.0.0.1", 9998,num_processors=1)
24
+ @valid_request = "GET / HTTP/1.1\r\nHost: www.zedshaw.com\r\nContent-Type: text/plain\r\n\r\n"
25
+
26
+ # We set num_processors=1 so that we can test the reaping code
27
+ @server = HttpServer.new("127.0.0.1", 9998, num_processors=1)
29
28
  @tester = TestHandler.new
30
29
  @server.register("/test", @tester)
31
30
  redirect_test_io do
@@ -34,7 +33,9 @@ class WebServerTest < Test::Unit::TestCase
34
33
  end
35
34
 
36
35
  def teardown
37
- @server.stop
36
+ redirect_test_io do
37
+ @server.stop(true)
38
+ end
38
39
  end
39
40
 
40
41
  def test_simple_server
@@ -43,31 +44,31 @@ class WebServerTest < Test::Unit::TestCase
43
44
  end
44
45
 
45
46
 
46
- def do_test(st, chunk, close_after=nil)
47
- s = TCPSocket.new("127.0.0.1", 9998);
48
- req = StringIO.new(st)
49
- nout = 0
47
+ def do_test(string, chunk, close_after=nil)
48
+ # Do not use instance variables here, because it needs to be thread safe
49
+ socket = TCPSocket.new("127.0.0.1", 9998);
50
+ request = StringIO.new(string)
51
+ chunks_out = 0
50
52
 
51
- while data = req.read(chunk)
52
- nout += s.write(data)
53
- s.flush
53
+ while data = request.read(chunk)
54
+ chunks_out += socket.write(data)
55
+ socket.flush
54
56
  sleep 0.2
55
- if close_after and nout > close_after
56
- s.close_write
57
+ if close_after and chunks_out > close_after
58
+ socket.close
57
59
  sleep 1
58
60
  end
59
61
  end
60
- s.write(" ") if RUBY_PLATFORM =~ /mingw|mswin|cygwin/
61
- s.close
62
+ socket.write(" ") # Some platforms only raise the exception on attempted write
62
63
  end
63
64
 
64
65
  def test_trickle_attack
65
- do_test(@request, 3)
66
+ do_test(@valid_request, 3)
66
67
  end
67
68
 
68
69
  def test_close_client
69
70
  assert_raises IOError do
70
- do_test(@request, 10, 20)
71
+ do_test(@valid_request, 10, 20)
71
72
  end
72
73
  end
73
74
 
@@ -90,8 +91,8 @@ class WebServerTest < Test::Unit::TestCase
90
91
  redirect_test_io do
91
92
  assert_raises Errno::ECONNRESET, Errno::EPIPE, Errno::ECONNABORTED, Errno::EINVAL do
92
93
  tests = [
93
- Thread.new { do_test(@request, 1) },
94
- Thread.new { do_test(@request, 10) },
94
+ Thread.new { do_test(@valid_request, 1) },
95
+ Thread.new { do_test(@valid_request, 10) },
95
96
  ]
96
97
 
97
98
  tests.each {|t| t.join}
@@ -4,6 +4,31 @@
4
4
  # Additional work donated by contributors. See http://mongrel.rubyforge.org/attributions.html
5
5
  # for more information.
6
6
 
7
+
8
+ HERE = File.dirname(__FILE__)
9
+ %w(lib ext bin test).each do |dir|
10
+ $LOAD_PATH.unshift "#{HERE}/../#{dir}"
11
+ end
12
+
13
+ require 'rubygems'
14
+ require 'test/unit'
15
+ require 'net/http'
16
+ require 'timeout'
17
+ require 'cgi/session'
18
+ require 'fileutils'
19
+ require 'benchmark'
20
+ require 'digest/sha1'
21
+ require 'uri'
22
+ require 'stringio'
23
+
24
+ require 'mongrel'
25
+ require 'mongrel/stats'
26
+
27
+ if ENV['DEBUG']
28
+ require 'ruby-debug'
29
+ Debugger.start
30
+ end
31
+
7
32
  def redirect_test_io
8
33
  orig_err = STDERR.dup
9
34
  orig_out = STDOUT.dup
@@ -17,8 +42,7 @@ def redirect_test_io
17
42
  STDOUT.reopen(orig_out)
18
43
  end
19
44
  end
20
-
21
-
45
+
22
46
  # Either takes a string to do a get request against, or a tuple of [URI, HTTP] where
23
47
  # HTTP is some kind of Net::HTTP request object (POST, HEAD, etc.)
24
48
  def hit(uris)
@@ -39,4 +63,3 @@ def hit(uris)
39
63
 
40
64
  return results
41
65
  end
42
-
@@ -18,8 +18,8 @@ def do_test(st, chunk)
18
18
  break
19
19
  end
20
20
  end
21
- rescue Object
22
- STDERR.puts "ERROR: #$!"
21
+ rescue Object => e
22
+ STDERR.puts "ERROR: #{e}"
23
23
  ensure
24
24
  s.close
25
25
  end
metadata CHANGED
@@ -1,367 +1,172 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
3
- specification_version: 1
2
+ rubygems_version: 0.9.4.6
3
+ specification_version: 2
4
4
  name: mongrel
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.0.1
7
- date: 2007-01-22 00:00:00 -08:00
6
+ version: 1.0.2
7
+ date: 2007-10-26 00:00:00 -04:00
8
8
  summary: A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps.
9
9
  require_paths:
10
10
  - lib
11
- email:
12
- homepage:
13
- rubyforge_project:
11
+ - ext
12
+ email: ""
13
+ homepage: ""
14
+ rubyforge_project: mongrel
14
15
  description: A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps.
15
16
  autorequire:
16
17
  default_executable:
17
18
  bindir: bin
18
19
  has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ required_ruby_version: !ruby/object:Gem::Requirement
20
21
  requirements:
21
22
  - - ">="
22
23
  - !ruby/object:Gem::Version
23
24
  version: 1.8.4
24
25
  version:
26
+ required_rubygems_version: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: "0"
31
+ version:
25
32
  platform: ruby
26
33
  signing_key:
27
34
  cert_chain:
35
+ - |
36
+ -----BEGIN CERTIFICATE-----
37
+ MIIDUDCCAjigAwIBAgIBADANBgkqhkiG9w0BAQUFADBOMRwwGgYDVQQDDBNtb25n
38
+ cmVsLWRldmVsb3BtZW50MRkwFwYKCZImiZPyLGQBGRYJcnVieWZvcmdlMRMwEQYK
39
+ CZImiZPyLGQBGRYDb3JnMB4XDTA3MDkxNjEwMzI0OVoXDTA4MDkxNTEwMzI0OVow
40
+ TjEcMBoGA1UEAwwTbW9uZ3JlbC1kZXZlbG9wbWVudDEZMBcGCgmSJomT8ixkARkW
41
+ CXJ1Ynlmb3JnZTETMBEGCgmSJomT8ixkARkWA29yZzCCASIwDQYJKoZIhvcNAQEB
42
+ BQADggEPADCCAQoCggEBAMb9v3B01eOHk3FyypbQgKXzJplUE5P6dXoG+xpPm0Lv
43
+ P7BQmeMncOwqQ7zXpVQU+lTpXtQFTsOE3vL7KnhQFJKGvUAkbh24VFyopu1I0yqF
44
+ mGu4nRqNXGXVj8TvLSj4S1WpSRLAa0acLPNyKhGmoV9+crqQypSjM6XKjBeppifo
45
+ 4eBmWGjiJEYMIJBvJZPJ4rAVDDA8C6CM1m3gMBGNh8ELDhU8HI9AP3dMIkTI2Wx9
46
+ 9xkJwHdroAaS0IFFtYChrwee4FbCF1FHDgoTosMwa47DrLHg4hZ6ojaKwK5QVWEV
47
+ XGb6ju5UqpktnSWF2W+Lvl/K0tI42OH2CAhebT1gEVUCAwEAAaM5MDcwCQYDVR0T
48
+ BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGHChyMSZ16u9WOzKhgJSQ9lqDc5
49
+ MA0GCSqGSIb3DQEBBQUAA4IBAQA/lfeN2WdB1xN+82tT7vNS4HOjRQw6MUh5yktu
50
+ GQjaGqm0UB+aX0Z9y0B0qpfv9rj7nmIvEGiwBmDepNWYCGuW15JyqpN7QVVnG2xS
51
+ Mrame7VqgjM7A+VGDD5In5LtWbM/CHAATvvFlQ5Ph13YE1EdnVbZ65c+KQv+5sFY
52
+ Q+zEop74d878uaC/SAHHXS46TiXneocaLSYw1CEZs/MAIy+9c4Q5ESbGpgnfg1Ad
53
+ 6lwl7k3hsNHO/+tZzx4HJtOXDI1yAl3+q6T9J0yI3z97EinwvAKhS1eyOI2Y5eeT
54
+ tbQaNYkU127B3l/VNpd8fQm3Jkl/PqCCmDBQjUszFrJEODug
55
+ -----END CERTIFICATE-----
56
+
57
+ - |
58
+ -----BEGIN CERTIFICATE-----
59
+ MIIDPzCCAiegAwIBAgIBADANBgkqhkiG9w0BAQUFADBOMRwwGgYDVQQDDBNtb25n
60
+ cmVsLWRldmVsb3BtZW50MRkwFwYKCZImiZPyLGQBGRYJcnVieWZvcmdlMRMwEQYK
61
+ CZImiZPyLGQBGRYDb3JnMB4XDTA3MDkxNjEwMzMwMFoXDTA4MDkxNTEwMzMwMFow
62
+ PTENMAsGA1UEAwwEZXZhbjEYMBYGCgmSJomT8ixkARkWCGNsb3VkYnVyMRIwEAYK
63
+ CZImiZPyLGQBGRYCc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDk
64
+ LQijz2fICmev4+9s0WB71WzJFYCUYFQQxqGlenbxWut9dlPSsBbskGjg+UITeOXi
65
+ cTh3MTqAB0i1LJyNOiyvDsAivn7GjKXhVvflp2/npMhBBe83P4HOWqeQBjkk3QJI
66
+ FFNBvqbFLeEXIP+HiqAOiyNHZEVXMepLEJLzGrg3Ly7M7A6L5fK7jDrt8jkm+c+8
67
+ zGquVHV5ohAebGd/vpHMLjpA7lCG5+MBgYZd33rRfNtCxDJMNRgnOu9PsB05+LJn
68
+ MpDKQq3x0SkOf5A+MVOcadNCaAkFflYk3SUcXaXWxu/eCHgqfW1m76RNSp5djpKE
69
+ CgNPK9lGIWpB3CHzDaVNAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSw
70
+ MB0GA1UdDgQWBBT5aonPfFBdJ5rWFG+8dZwgyB54LjANBgkqhkiG9w0BAQUFAAOC
71
+ AQEAiKbzWgMcvZs/TPwJxr8tJ+7mSGz7+zDkWcbBl8FpQq1DtRcATh1oyTkQT7t+
72
+ rFEBYMmb0FxbbUnojQp8hIFgFkUwFpStwWBL/okLSehntzI2iwjuEtfj4ac9Q3Y2
73
+ uSdbmZqsQTuu+lEUc5C4qLK7YKwToaul+cx7vWxyk1YendcVwRlFLIBqA5cPrwo3
74
+ yyGLTHlRYn2c9PSbM1B63Yg+LqSSAa4QSU3Wv9pNdffVpvwHPVEQpO7ZDo5slQFL
75
+ Gf6+gbD/eZAvhpvmn8JlXb+LxKaFVMs2Yvrk1xOuT76SsPjEGWxkr7jZCIpsYfgQ
76
+ ALN3mi/9z0Mf1YroliUgF0v5Yw==
77
+ -----END CERTIFICATE-----
78
+
28
79
  post_install_message:
29
80
  authors:
30
81
  - Zed A. Shaw
31
82
  files:
32
- - COPYING
33
- - LICENSE
34
- - README
35
- - Rakefile
36
83
  - bin/mongrel_rails
37
- - doc/rdoc/files
38
- - doc/rdoc/index.html
39
- - doc/rdoc/rdoc-style.css
40
- - doc/rdoc/fr_method_index.html
41
- - doc/rdoc/fr_class_index.html
42
- - doc/rdoc/fr_file_index.html
43
- - doc/rdoc/created.rid
44
- - doc/rdoc/classes
45
- - doc/rdoc/files/ext
46
- - doc/rdoc/files/lib
47
- - doc/rdoc/files/LICENSE.html
48
- - doc/rdoc/files/README.html
49
- - doc/rdoc/files/COPYING.html
50
- - doc/rdoc/files/ext/http11
51
- - doc/rdoc/files/ext/http11/http11_c.html
52
- - doc/rdoc/files/lib/mongrel_rb.html
53
- - doc/rdoc/files/lib/mutex_fix_rb.html
54
- - doc/rdoc/files/lib/mongrel
55
- - doc/rdoc/files/lib/mongrel/tcphack_rb.html
56
- - doc/rdoc/files/lib/mongrel/handlers_rb.html
57
- - doc/rdoc/files/lib/mongrel/command_rb.html
58
- - doc/rdoc/files/lib/mongrel/camping_rb.html
59
- - doc/rdoc/files/lib/mongrel/init_rb.html
60
- - doc/rdoc/files/lib/mongrel/rails_rb.html
61
- - doc/rdoc/files/lib/mongrel/stats_rb.html
62
- - doc/rdoc/files/lib/mongrel/cgi_rb.html
63
- - doc/rdoc/files/lib/mongrel/debug_rb.html
64
- - doc/rdoc/files/lib/mongrel/configurator_rb.html
65
- - doc/rdoc/classes/IO.src
66
- - doc/rdoc/classes/Mutex.src
67
- - doc/rdoc/classes/RequestLog.html
68
- - doc/rdoc/classes/Kernel.src
69
- - doc/rdoc/classes/Kernel.html
70
- - doc/rdoc/classes/RequestLog
71
- - doc/rdoc/classes/Mongrel.html
72
- - doc/rdoc/classes/TCPServer.src
73
- - doc/rdoc/classes/IO.html
74
- - doc/rdoc/classes/Mongrel
75
- - doc/rdoc/classes/TCPServer.html
76
- - doc/rdoc/classes/MongrelDbg.src
77
- - doc/rdoc/classes/MongrelDbg.html
78
- - doc/rdoc/classes/Mutex.html
79
- - doc/rdoc/classes/IO.src/M000003.html
80
- - doc/rdoc/classes/IO.src/M000004.html
81
- - doc/rdoc/classes/Mutex.src/M000001.html
82
- - doc/rdoc/classes/Mutex.src/M000002.html
83
- - doc/rdoc/classes/Kernel.src/M000012.html
84
- - doc/rdoc/classes/Kernel.src/M000013.html
85
- - doc/rdoc/classes/RequestLog/Threads.html
86
- - doc/rdoc/classes/RequestLog/Objects.html
87
- - doc/rdoc/classes/RequestLog/Params.html
88
- - doc/rdoc/classes/RequestLog/Files.html
89
- - doc/rdoc/classes/RequestLog/Objects.src
90
- - doc/rdoc/classes/RequestLog/Access.src
91
- - doc/rdoc/classes/RequestLog/Params.src
92
- - doc/rdoc/classes/RequestLog/Threads.src
93
- - doc/rdoc/classes/RequestLog/Access.html
94
- - doc/rdoc/classes/RequestLog/Files.src
95
- - doc/rdoc/classes/RequestLog/Objects.src/M000150.html
96
- - doc/rdoc/classes/RequestLog/Access.src/M000147.html
97
- - doc/rdoc/classes/RequestLog/Params.src/M000151.html
98
- - doc/rdoc/classes/RequestLog/Threads.src/M000149.html
99
- - doc/rdoc/classes/RequestLog/Files.src/M000148.html
100
- - doc/rdoc/classes/TCPServer.src/M000005.html
101
- - doc/rdoc/classes/Mongrel/HttpServer.src
102
- - doc/rdoc/classes/Mongrel/Rails.html
103
- - doc/rdoc/classes/Mongrel/Rails
104
- - doc/rdoc/classes/Mongrel/HttpResponse.html
105
- - doc/rdoc/classes/Mongrel/HttpServer.html
106
- - doc/rdoc/classes/Mongrel/HttpParser.html
107
- - doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html
108
- - doc/rdoc/classes/Mongrel/Camping
109
- - doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src
110
- - doc/rdoc/classes/Mongrel/Const.html
111
- - doc/rdoc/classes/Mongrel/StatisticsFilter.src
112
- - doc/rdoc/classes/Mongrel/Configurator.src
113
- - doc/rdoc/classes/Mongrel/CGIWrapper.html
114
- - doc/rdoc/classes/Mongrel/HttpRequest.src
115
- - doc/rdoc/classes/Mongrel/TimeoutError.html
116
- - doc/rdoc/classes/Mongrel/Command
117
- - doc/rdoc/classes/Mongrel/Error404Handler.src
118
- - doc/rdoc/classes/Mongrel/Stats.src
119
- - doc/rdoc/classes/Mongrel/Camping.src
120
- - doc/rdoc/classes/Mongrel/Command.html
121
- - doc/rdoc/classes/Mongrel/HttpParams.html
122
- - doc/rdoc/classes/Mongrel/DirHandler.html
123
- - doc/rdoc/classes/Mongrel/Error404Handler.html
124
- - doc/rdoc/classes/Mongrel/StopServer.html
125
- - doc/rdoc/classes/Mongrel/StatisticsFilter.html
126
- - doc/rdoc/classes/Mongrel/StatusHandler.src
127
- - doc/rdoc/classes/Mongrel/DeflateFilter.html
128
- - doc/rdoc/classes/Mongrel/HeaderOut.src
129
- - doc/rdoc/classes/Mongrel/Stats.html
130
- - doc/rdoc/classes/Mongrel/Configurator.html
131
- - doc/rdoc/classes/Mongrel/HttpResponse.src
132
- - doc/rdoc/classes/Mongrel/HttpParser.src
133
- - doc/rdoc/classes/Mongrel/CGIWrapper.src
134
- - doc/rdoc/classes/Mongrel/HttpRequest.html
135
- - doc/rdoc/classes/Mongrel/HttpHandler.html
136
- - doc/rdoc/classes/Mongrel/RedirectHandler.html
137
- - doc/rdoc/classes/Mongrel/Camping.html
138
- - doc/rdoc/classes/Mongrel/StatusHandler.html
139
- - doc/rdoc/classes/Mongrel/URIClassifier.html
140
- - doc/rdoc/classes/Mongrel/HttpParserError.html
141
- - doc/rdoc/classes/Mongrel/RedirectHandler.src
142
- - doc/rdoc/classes/Mongrel/HttpHandler.src
143
- - doc/rdoc/classes/Mongrel/URIClassifier.src
144
- - doc/rdoc/classes/Mongrel/DirHandler.src
145
- - doc/rdoc/classes/Mongrel/DeflateFilter.src
146
- - doc/rdoc/classes/Mongrel/HeaderOut.html
147
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000057.html
148
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000058.html
149
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html
150
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html
151
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000061.html
152
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html
153
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html
154
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000064.html
155
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html
156
- - doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src
157
- - doc/rdoc/classes/Mongrel/Rails/RailsHandler.src
158
- - doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html
159
- - doc/rdoc/classes/Mongrel/Rails/RailsHandler.html
160
- - doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000034.html
161
- - doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000035.html
162
- - doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000036.html
163
- - doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html
164
- - doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html
165
- - doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000039.html
166
- - doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000040.html
167
- - doc/rdoc/classes/Mongrel/Camping/CampingHandler.src
168
- - doc/rdoc/classes/Mongrel/Camping/CampingHandler.html
169
- - doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000042.html
170
- - doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000043.html
171
- - doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000014.html
172
- - doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000015.html
173
- - doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000016.html
174
- - doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000017.html
175
- - doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000128.html
176
- - doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000129.html
177
- - doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000130.html
178
- - doc/rdoc/classes/Mongrel/Configurator.src/M000093.html
179
- - doc/rdoc/classes/Mongrel/Configurator.src/M000094.html
180
- - doc/rdoc/classes/Mongrel/Configurator.src/M000095.html
181
- - doc/rdoc/classes/Mongrel/Configurator.src/M000096.html
182
- - doc/rdoc/classes/Mongrel/Configurator.src/M000097.html
183
- - doc/rdoc/classes/Mongrel/Configurator.src/M000098.html
184
- - doc/rdoc/classes/Mongrel/Configurator.src/M000099.html
185
- - doc/rdoc/classes/Mongrel/Configurator.src/M000100.html
186
- - doc/rdoc/classes/Mongrel/Configurator.src/M000101.html
187
- - doc/rdoc/classes/Mongrel/Configurator.src/M000102.html
188
- - doc/rdoc/classes/Mongrel/Configurator.src/M000103.html
189
- - doc/rdoc/classes/Mongrel/Configurator.src/M000104.html
190
- - doc/rdoc/classes/Mongrel/Configurator.src/M000105.html
191
- - doc/rdoc/classes/Mongrel/Configurator.src/M000106.html
192
- - doc/rdoc/classes/Mongrel/Configurator.src/M000107.html
193
- - doc/rdoc/classes/Mongrel/Configurator.src/M000108.html
194
- - doc/rdoc/classes/Mongrel/Configurator.src/M000109.html
195
- - doc/rdoc/classes/Mongrel/Configurator.src/M000110.html
196
- - doc/rdoc/classes/Mongrel/Configurator.src/M000111.html
197
- - doc/rdoc/classes/Mongrel/Configurator.src/M000112.html
198
- - doc/rdoc/classes/Mongrel/Configurator.src/M000113.html
199
- - doc/rdoc/classes/Mongrel/Configurator.src/M000114.html
200
- - doc/rdoc/classes/Mongrel/HttpRequest.src/M000135.html
201
- - doc/rdoc/classes/Mongrel/HttpRequest.src/M000136.html
202
- - doc/rdoc/classes/Mongrel/HttpRequest.src/M000137.html
203
- - doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html
204
- - doc/rdoc/classes/Mongrel/HttpRequest.src/M000133.html
205
- - doc/rdoc/classes/Mongrel/HttpRequest.src/M000134.html
206
- - doc/rdoc/classes/Mongrel/Command/Registry.html
207
- - doc/rdoc/classes/Mongrel/Command/Registry.src
208
- - doc/rdoc/classes/Mongrel/Command/Base.html
209
- - doc/rdoc/classes/Mongrel/Command/Base.src
210
- - doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html
211
- - doc/rdoc/classes/Mongrel/Command/Registry.src/M000032.html
212
- - doc/rdoc/classes/Mongrel/Command/Registry.src/M000033.html
213
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html
214
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000019.html
215
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000020.html
216
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000021.html
217
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000022.html
218
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000023.html
219
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000024.html
220
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000025.html
221
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html
222
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html
223
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html
224
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html
225
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html
226
- - doc/rdoc/classes/Mongrel/Error404Handler.src/M000126.html
227
- - doc/rdoc/classes/Mongrel/Error404Handler.src/M000127.html
228
- - doc/rdoc/classes/Mongrel/Stats.src/M000139.html
229
- - doc/rdoc/classes/Mongrel/Stats.src/M000140.html
230
- - doc/rdoc/classes/Mongrel/Stats.src/M000141.html
231
- - doc/rdoc/classes/Mongrel/Stats.src/M000142.html
232
- - doc/rdoc/classes/Mongrel/Stats.src/M000143.html
233
- - doc/rdoc/classes/Mongrel/Stats.src/M000144.html
234
- - doc/rdoc/classes/Mongrel/Stats.src/M000145.html
235
- - doc/rdoc/classes/Mongrel/Stats.src/M000146.html
236
- - doc/rdoc/classes/Mongrel/Camping.src/M000041.html
237
- - doc/rdoc/classes/Mongrel/StatusHandler.src/M000068.html
238
- - doc/rdoc/classes/Mongrel/StatusHandler.src/M000069.html
239
- - doc/rdoc/classes/Mongrel/StatusHandler.src/M000070.html
240
- - doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html
241
- - doc/rdoc/classes/Mongrel/HeaderOut.src/M000066.html
242
- - doc/rdoc/classes/Mongrel/HeaderOut.src/M000067.html
243
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html
244
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html
245
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html
246
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html
247
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000080.html
248
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html
249
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html
250
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html
251
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html
252
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000085.html
253
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html
254
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html
255
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000044.html
256
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000045.html
257
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000046.html
258
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000047.html
259
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000048.html
260
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000049.html
261
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000050.html
262
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html
263
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000116.html
264
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000117.html
265
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000118.html
266
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000119.html
267
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000120.html
268
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000121.html
269
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000122.html
270
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000123.html
271
- - doc/rdoc/classes/Mongrel/RedirectHandler.src/M000131.html
272
- - doc/rdoc/classes/Mongrel/RedirectHandler.src/M000132.html
273
- - doc/rdoc/classes/Mongrel/HttpHandler.src/M000072.html
274
- - doc/rdoc/classes/Mongrel/HttpHandler.src/M000073.html
275
- - doc/rdoc/classes/Mongrel/HttpHandler.src/M000074.html
276
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000087.html
277
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html
278
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html
279
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000090.html
280
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000091.html
281
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html
282
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000051.html
283
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html
284
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000053.html
285
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000054.html
286
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000055.html
287
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html
288
- - doc/rdoc/classes/Mongrel/DeflateFilter.src/M000124.html
289
- - doc/rdoc/classes/Mongrel/DeflateFilter.src/M000125.html
290
- - doc/rdoc/classes/MongrelDbg.src/M000008.html
291
- - doc/rdoc/classes/MongrelDbg.src/M000009.html
292
- - doc/rdoc/classes/MongrelDbg.src/M000010.html
293
- - doc/rdoc/classes/MongrelDbg.src/M000011.html
294
- - doc/rdoc/classes/MongrelDbg.src/M000007.html
295
- - test/mongrel.conf
296
- - test/test_http11.rb
297
- - test/test_configurator.rb
298
- - test/test_ws.rb
299
- - test/mime.yaml
300
- - test/test_uriclassifier.rb
301
- - test/test_debug.rb
302
- - test/test_redirect_handler.rb
303
- - test/test_request_progress.rb
304
- - test/test_stats.rb
305
- - test/test_conditional.rb
306
- - test/testhelp.rb
307
- - test/test_command.rb
308
- - test/test_response.rb
309
- - test/test_handlers.rb
310
- - ext/http11/tst.h
311
- - ext/http11/http11_parser.h
84
+ - CHANGELOG
85
+ - COPYING
86
+ - examples/builder.rb
87
+ - examples/camping/blog.rb
88
+ - examples/camping/README
89
+ - examples/camping/tepee.rb
90
+ - examples/httpd.conf
91
+ - examples/mime.yaml
92
+ - examples/mongrel.conf
93
+ - examples/mongrel_simple_ctrl.rb
94
+ - examples/mongrel_simple_service.rb
95
+ - examples/monitrc
96
+ - examples/random_thrash.rb
97
+ - examples/simpletest.rb
98
+ - examples/webrick_compare.rb
312
99
  - ext/http11/ext_help.h
100
+ - ext/http11/extconf.rb
313
101
  - ext/http11/http11.c
314
- - ext/http11/tst_search.c
315
- - ext/http11/tst_delete.c
316
102
  - ext/http11/http11_parser.c
317
- - ext/http11/tst_init.c
103
+ - ext/http11/http11_parser.h
104
+ - ext/http11/http11_parser.java.rl
105
+ - ext/http11/http11_parser.rl
106
+ - ext/http11/http11_parser_common.rl
107
+ - ext/http11/MANIFEST
108
+ - ext/http11/tst.h
109
+ - ext/http11/tst_cleanup.c
110
+ - ext/http11/tst_delete.c
318
111
  - ext/http11/tst_grow_node_free_list.c
112
+ - ext/http11/tst_init.c
319
113
  - ext/http11/tst_insert.c
320
- - ext/http11/tst_cleanup.c
321
- - ext/http11/extconf.rb
322
- - ext/http11/http11_parser.rl
323
- - examples/mongrel_simple_ctrl.rb
324
- - examples/builder.rb
325
- - examples/random_thrash.rb
326
- - examples/mongrel_simple_service.rb
327
- - examples/simpletest.rb
328
- - examples/webrick_compare.rb
329
- - examples/camping/tepee.rb
330
- - examples/camping/blog.rb
331
- - tools/trickletest.rb
332
- - tools/rakehelp.rb
333
- - lib/mongrel.rb
334
- - lib/mutex_fix.rb
335
- - lib/mongrel/handlers.rb
114
+ - ext/http11/tst_search.c
336
115
  - lib/mongrel/camping.rb
337
- - lib/mongrel/tcphack.rb
338
- - lib/mongrel/rails.rb
339
116
  - lib/mongrel/cgi.rb
340
- - lib/mongrel/debug.rb
341
- - lib/mongrel/stats.rb
342
117
  - lib/mongrel/command.rb
343
- - lib/mongrel/init.rb
344
118
  - lib/mongrel/configurator.rb
345
- - ext/http11/MANIFEST
346
- - setup.rb
119
+ - lib/mongrel/debug.rb
120
+ - lib/mongrel/handlers.rb
121
+ - lib/mongrel/init.rb
347
122
  - lib/mongrel/mime_types.yml
348
- test_files:
349
- - test/test_http11.rb
123
+ - lib/mongrel/rails.rb
124
+ - lib/mongrel/stats.rb
125
+ - lib/mongrel/tcphack.rb
126
+ - lib/mongrel.rb
127
+ - lib/mutex_fix.rb
128
+ - LICENSE
129
+ - Manifest
130
+ - mongrel-public_cert.pem
131
+ - README
132
+ - setup.rb
133
+ - test/jruby_socket.rb
134
+ - test/mime.yaml
135
+ - test/mongrel.conf
136
+ - test/test_cgi_wrapper.rb
137
+ - test/test_command.rb
138
+ - test/test_conditional.rb
350
139
  - test/test_configurator.rb
351
- - test/test_ws.rb
352
- - test/test_uriclassifier.rb
353
140
  - test/test_debug.rb
141
+ - test/test_handlers.rb
142
+ - test/test_http11.rb
354
143
  - test/test_redirect_handler.rb
355
144
  - test/test_request_progress.rb
145
+ - test/test_response.rb
356
146
  - test/test_stats.rb
357
- - test/test_conditional.rb
147
+ - test/test_uriclassifier.rb
148
+ - test/test_ws.rb
149
+ - test/testhelp.rb
150
+ - tools/trickletest.rb
151
+ - mongrel.gemspec
152
+ test_files:
153
+ - test/test_cgi_wrapper.rb
358
154
  - test/test_command.rb
359
- - test/test_response.rb
155
+ - test/test_conditional.rb
156
+ - test/test_configurator.rb
157
+ - test/test_debug.rb
360
158
  - test/test_handlers.rb
159
+ - test/test_http11.rb
160
+ - test/test_redirect_handler.rb
161
+ - test/test_request_progress.rb
162
+ - test/test_response.rb
163
+ - test/test_stats.rb
164
+ - test/test_uriclassifier.rb
165
+ - test/test_ws.rb
361
166
  rdoc_options: []
362
167
 
363
- extra_rdoc_files:
364
- - README
168
+ extra_rdoc_files: []
169
+
365
170
  executables:
366
171
  - mongrel_rails
367
172
  extensions:
@@ -370,38 +175,38 @@ requirements: []
370
175
 
371
176
  dependencies:
372
177
  - !ruby/object:Gem::Dependency
373
- name: daemons
178
+ name: gem_plugin
374
179
  version_requirement:
375
- version_requirements: !ruby/object:Gem::Version::Requirement
180
+ version_requirements: !ruby/object:Gem::Requirement
376
181
  requirements:
377
182
  - - ">="
378
183
  - !ruby/object:Gem::Version
379
- version: 1.0.3
184
+ version: 0.2.3
380
185
  version:
381
186
  - !ruby/object:Gem::Dependency
382
- name: fastthread
187
+ name: cgi_multipart_eof_fix
383
188
  version_requirement:
384
- version_requirements: !ruby/object:Gem::Version::Requirement
189
+ version_requirements: !ruby/object:Gem::Requirement
385
190
  requirements:
386
191
  - - ">="
387
192
  - !ruby/object:Gem::Version
388
- version: 0.6.2
193
+ version: "2.4"
389
194
  version:
390
195
  - !ruby/object:Gem::Dependency
391
- name: gem_plugin
196
+ name: daemons
392
197
  version_requirement:
393
- version_requirements: !ruby/object:Gem::Version::Requirement
198
+ version_requirements: !ruby/object:Gem::Requirement
394
199
  requirements:
395
200
  - - ">="
396
201
  - !ruby/object:Gem::Version
397
- version: 0.2.2
202
+ version: 1.0.3
398
203
  version:
399
204
  - !ruby/object:Gem::Dependency
400
- name: cgi_multipart_eof_fix
205
+ name: fastthread
401
206
  version_requirement:
402
- version_requirements: !ruby/object:Gem::Version::Requirement
207
+ version_requirements: !ruby/object:Gem::Requirement
403
208
  requirements:
404
209
  - - ">="
405
210
  - !ruby/object:Gem::Version
406
- version: 1.0.0
211
+ version: 1.0.1
407
212
  version: