mongrel 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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: