mongrel 0.3.13.3 → 0.3.13.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. data/Rakefile +5 -4
  2. data/bin/mongrel_rails +162 -169
  3. data/doc/rdoc/classes/IO.src/M000001.html +5 -5
  4. data/doc/rdoc/classes/IO.src/M000002.html +5 -5
  5. data/doc/rdoc/classes/Kernel.html +10 -10
  6. data/doc/rdoc/classes/Kernel.src/M000010.html +19 -0
  7. data/doc/rdoc/classes/Kernel.src/M000011.html +23 -0
  8. data/doc/rdoc/classes/Mongrel.html +27 -10
  9. data/doc/rdoc/classes/Mongrel/CGIWrapper.html +67 -54
  10. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000101.html → M000112.html} +11 -10
  11. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000102.html → M000113.html} +31 -31
  12. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000103.html → M000114.html} +20 -20
  13. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html +32 -0
  14. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000105.html → M000116.html} +11 -11
  15. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000106.html → M000117.html} +4 -4
  16. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000107.html → M000118.html} +4 -4
  17. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000108.html → M000119.html} +4 -4
  18. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000109.html → M000120.html} +5 -5
  19. data/doc/rdoc/classes/Mongrel/Camping.html +5 -5
  20. data/doc/rdoc/classes/Mongrel/Camping.src/{M000048.html → M000039.html} +0 -0
  21. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +10 -10
  22. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/{M000049.html → M000040.html} +0 -0
  23. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/{M000050.html → M000041.html} +0 -0
  24. data/doc/rdoc/classes/Mongrel/Command/Base.html +65 -65
  25. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000016.html +24 -0
  26. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000017.html +42 -0
  27. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html +18 -0
  28. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000029.html → M000019.html} +0 -0
  29. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000030.html → M000020.html} +0 -0
  30. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000031.html → M000021.html} +0 -0
  31. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000032.html → M000022.html} +0 -0
  32. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000033.html → M000023.html} +0 -0
  33. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000034.html → M000024.html} +0 -0
  34. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000035.html → M000025.html} +0 -0
  35. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +11 -11
  36. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +11 -29
  37. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +5 -5
  38. data/doc/rdoc/classes/Mongrel/Command/Registry.html +15 -15
  39. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000039.html → M000029.html} +0 -0
  40. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000040.html → M000030.html} +10 -6
  41. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html +58 -0
  42. data/doc/rdoc/classes/Mongrel/Configurator.html +115 -115
  43. data/doc/rdoc/classes/Mongrel/Configurator.src/M000091.html +27 -0
  44. data/doc/rdoc/classes/Mongrel/Configurator.src/M000092.html +31 -0
  45. data/doc/rdoc/classes/Mongrel/Configurator.src/M000093.html +21 -0
  46. data/doc/rdoc/classes/Mongrel/Configurator.src/M000094.html +20 -0
  47. data/doc/rdoc/classes/Mongrel/Configurator.src/M000095.html +23 -0
  48. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000115.html → M000096.html} +4 -4
  49. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000116.html → M000097.html} +24 -24
  50. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000117.html → M000098.html} +5 -5
  51. data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +39 -0
  52. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000119.html → M000100.html} +19 -19
  53. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000120.html → M000101.html} +4 -4
  54. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000121.html → M000102.html} +10 -10
  55. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000122.html → M000103.html} +5 -5
  56. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000123.html → M000104.html} +4 -4
  57. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000124.html → M000105.html} +8 -8
  58. data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +22 -0
  59. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000126.html → M000107.html} +4 -4
  60. data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +34 -0
  61. data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +18 -0
  62. data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +23 -14
  63. data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +5 -18
  64. data/doc/rdoc/classes/Mongrel/Const.html +11 -6
  65. data/doc/rdoc/classes/Mongrel/DeflateFilter.html +10 -10
  66. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000099.html → M000121.html} +5 -5
  67. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000100.html → M000122.html} +14 -14
  68. data/doc/rdoc/classes/Mongrel/DirHandler.html +31 -31
  69. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000058.html → M000049.html} +0 -0
  70. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000059.html → M000050.html} +0 -0
  71. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000060.html → M000051.html} +12 -16
  72. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html +63 -0
  73. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000062.html → M000053.html} +25 -25
  74. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000063.html → M000054.html} +4 -4
  75. data/doc/rdoc/classes/Mongrel/Error404Handler.html +10 -10
  76. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000131.html → M000123.html} +0 -0
  77. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000132.html → M000124.html} +0 -0
  78. data/doc/rdoc/classes/Mongrel/HeaderOut.html +10 -10
  79. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000072.html → M000064.html} +4 -4
  80. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000073.html → M000065.html} +4 -4
  81. data/doc/rdoc/classes/Mongrel/HttpHandler.html +15 -15
  82. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000078.html → M000070.html} +0 -0
  83. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000079.html → M000071.html} +0 -0
  84. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000080.html → M000072.html} +0 -0
  85. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +20 -20
  86. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000022.html → M000012.html} +0 -0
  87. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000023.html → M000013.html} +0 -0
  88. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000024.html → M000014.html} +0 -0
  89. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000025.html → M000015.html} +0 -0
  90. data/doc/rdoc/classes/Mongrel/HttpParams.html +131 -0
  91. data/doc/rdoc/classes/Mongrel/HttpParser.html +35 -35
  92. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000051.html → M000042.html} +1 -1
  93. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000052.html → M000043.html} +1 -1
  94. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000053.html → M000044.html} +1 -1
  95. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000054.html → M000045.html} +3 -3
  96. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000055.html → M000046.html} +1 -1
  97. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000056.html → M000047.html} +1 -1
  98. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000057.html → M000048.html} +1 -1
  99. data/doc/rdoc/classes/Mongrel/HttpRequest.html +63 -24
  100. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000130.html +47 -0
  101. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000131.html +37 -0
  102. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000132.html +29 -0
  103. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000139.html → M000133.html} +6 -6
  104. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000140.html → M000134.html} +6 -6
  105. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000141.html → M000135.html} +18 -18
  106. data/doc/rdoc/classes/Mongrel/HttpResponse.html +66 -72
  107. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000073.html +25 -0
  108. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000074.html +20 -0
  109. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +26 -0
  110. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +22 -0
  111. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000085.html → M000077.html} +8 -8
  112. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000086.html → M000078.html} +8 -8
  113. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +31 -0
  114. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000088.html → M000080.html} +7 -7
  115. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +7 -12
  116. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +7 -7
  117. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +7 -12
  118. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +5 -9
  119. data/doc/rdoc/classes/Mongrel/HttpServer.html +58 -43
  120. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000064.html → M000055.html} +11 -11
  121. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000065.html → M000056.html} +76 -72
  122. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000066.html → M000057.html} +18 -17
  123. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000067.html → M000058.html} +7 -7
  124. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html +22 -0
  125. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html +62 -0
  126. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000069.html → M000061.html} +20 -20
  127. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000070.html → M000062.html} +4 -4
  128. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000071.html → M000063.html} +8 -8
  129. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +15 -15
  130. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000042.html → M000032.html} +23 -25
  131. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000043.html → M000033.html} +11 -11
  132. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000044.html → M000034.html} +12 -12
  133. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +30 -15
  134. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/{M000045.html → M000035.html} +9 -8
  135. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000036.html +54 -0
  136. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html +21 -0
  137. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html +25 -0
  138. data/doc/rdoc/classes/Mongrel/RedirectHandler.html +10 -10
  139. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000136.html → M000128.html} +8 -8
  140. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000137.html → M000129.html} +13 -13
  141. data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +16 -16
  142. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000125.html +24 -0
  143. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000134.html → M000126.html} +10 -10
  144. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000135.html → M000127.html} +4 -4
  145. data/doc/rdoc/classes/{Stats.html → Mongrel/Stats.html} +44 -60
  146. data/doc/rdoc/classes/Mongrel/Stats.src/M000136.html +19 -0
  147. data/doc/rdoc/classes/Mongrel/Stats.src/M000137.html +23 -0
  148. data/doc/rdoc/classes/Mongrel/Stats.src/M000138.html +26 -0
  149. data/doc/rdoc/classes/Mongrel/Stats.src/M000139.html +18 -0
  150. data/doc/rdoc/classes/{Stats.src/M000009.html → Mongrel/Stats.src/M000140.html} +6 -6
  151. data/doc/rdoc/classes/Mongrel/Stats.src/M000141.html +18 -0
  152. data/doc/rdoc/classes/Mongrel/Stats.src/M000142.html +23 -0
  153. data/doc/rdoc/classes/Mongrel/Stats.src/M000143.html +20 -0
  154. data/doc/rdoc/classes/Mongrel/StatusHandler.html +20 -20
  155. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000074.html → M000066.html} +4 -4
  156. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000075.html → M000067.html} +10 -10
  157. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000076.html → M000068.html} +28 -28
  158. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000077.html → M000069.html} +6 -6
  159. data/doc/rdoc/classes/Mongrel/URIClassifier.html +30 -30
  160. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000093.html → M000085.html} +4 -4
  161. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000094.html → M000086.html} +4 -4
  162. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000095.html → M000087.html} +0 -0
  163. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000096.html → M000088.html} +1 -1
  164. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000097.html → M000089.html} +0 -0
  165. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000098.html → M000090.html} +1 -1
  166. data/doc/rdoc/classes/MongrelDbg.html +26 -26
  167. data/doc/rdoc/classes/MongrelDbg.src/M000005.html +24 -0
  168. data/doc/rdoc/classes/MongrelDbg.src/{M000016.html → M000006.html} +6 -6
  169. data/doc/rdoc/classes/MongrelDbg.src/{M000017.html → M000007.html} +8 -8
  170. data/doc/rdoc/classes/MongrelDbg.src/{M000018.html → M000008.html} +7 -7
  171. data/doc/rdoc/classes/MongrelDbg.src/{M000019.html → M000009.html} +4 -4
  172. data/doc/rdoc/classes/RequestLog/Access.html +5 -5
  173. data/doc/rdoc/classes/RequestLog/Access.src/{M000142.html → M000144.html} +5 -5
  174. data/doc/rdoc/classes/RequestLog/Files.html +5 -5
  175. data/doc/rdoc/classes/RequestLog/Files.src/{M000143.html → M000145.html} +5 -5
  176. data/doc/rdoc/classes/RequestLog/Objects.html +12 -6
  177. data/doc/rdoc/classes/RequestLog/Objects.src/M000147.html +51 -0
  178. data/doc/rdoc/classes/RequestLog/Params.html +5 -5
  179. data/doc/rdoc/classes/RequestLog/Params.src/{M000146.html → M000148.html} +5 -5
  180. data/doc/rdoc/classes/RequestLog/Threads.html +5 -5
  181. data/doc/rdoc/classes/RequestLog/Threads.src/{M000144.html → M000146.html} +20 -20
  182. data/doc/rdoc/classes/{ObjectTracker.html → Sync.html} +26 -45
  183. data/doc/rdoc/created.rid +1 -1
  184. data/doc/rdoc/files/COPYING.html +1 -1
  185. data/doc/rdoc/files/LICENSE.html +1 -1
  186. data/doc/rdoc/files/README.html +1 -1
  187. data/doc/rdoc/files/ext/http11/http11_c.html +1 -1
  188. data/doc/rdoc/files/lib/mongrel/camping_rb.html +1 -1
  189. data/doc/rdoc/files/lib/mongrel/cgi_rb.html +1 -1
  190. data/doc/rdoc/files/lib/mongrel/command_rb.html +1 -1
  191. data/doc/rdoc/files/lib/mongrel/configurator_rb.html +111 -0
  192. data/doc/rdoc/files/lib/mongrel/debug_rb.html +1 -1
  193. data/doc/rdoc/files/lib/mongrel/handlers_rb.html +1 -1
  194. data/doc/rdoc/files/lib/mongrel/init_rb.html +1 -1
  195. data/doc/rdoc/files/lib/mongrel/rails_rb.html +2 -1
  196. data/doc/rdoc/files/lib/mongrel/stats_rb.html +1 -1
  197. data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +1 -1
  198. data/doc/rdoc/files/lib/mongrel_rb.html +2 -4
  199. data/doc/rdoc/fr_class_index.html +3 -2
  200. data/doc/rdoc/fr_file_index.html +1 -0
  201. data/doc/rdoc/fr_method_index.html +144 -142
  202. data/ext/http11/http11.c +69 -52
  203. data/ext/http11/http11_parser.c +366 -282
  204. data/ext/http11/http11_parser.h +2 -0
  205. data/ext/http11/http11_parser.rl +192 -0
  206. data/lib/mongrel.rb +127 -433
  207. data/lib/mongrel/cgi.rb +19 -6
  208. data/lib/mongrel/command.rb +15 -3
  209. data/lib/mongrel/configurator.rb +374 -0
  210. data/lib/mongrel/debug.rb +47 -56
  211. data/lib/mongrel/handlers.rb +16 -20
  212. data/lib/mongrel/rails.rb +36 -20
  213. data/lib/mongrel/stats.rb +60 -58
  214. data/test/test_conditional.rb +37 -30
  215. data/test/test_http11.rb +14 -14
  216. data/test/test_stats.rb +2 -2
  217. data/test/test_ws.rb +4 -2
  218. data/tools/rakehelp.rb +4 -4
  219. metadata +262 -260
  220. data/doc/rdoc/classes/Kernel.src/M000020.html +0 -19
  221. data/doc/rdoc/classes/Kernel.src/M000021.html +0 -23
  222. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000104.html +0 -27
  223. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000036.html +0 -24
  224. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000037.html +0 -24
  225. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000038.html +0 -18
  226. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000041.html +0 -50
  227. data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +0 -20
  228. data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +0 -20
  229. data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +0 -23
  230. data/doc/rdoc/classes/Mongrel/Configurator.src/M000118.html +0 -30
  231. data/doc/rdoc/classes/Mongrel/Configurator.src/M000125.html +0 -25
  232. data/doc/rdoc/classes/Mongrel/Configurator.src/M000127.html +0 -35
  233. data/doc/rdoc/classes/Mongrel/Configurator.src/M000128.html +0 -18
  234. data/doc/rdoc/classes/Mongrel/Configurator.src/M000129.html +0 -33
  235. data/doc/rdoc/classes/Mongrel/Configurator.src/M000130.html +0 -18
  236. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000061.html +0 -63
  237. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html +0 -56
  238. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000087.html +0 -31
  239. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000089.html +0 -20
  240. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000090.html +0 -20
  241. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000091.html +0 -20
  242. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000092.html +0 -18
  243. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000068.html +0 -50
  244. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000046.html +0 -51
  245. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000047.html +0 -23
  246. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000133.html +0 -24
  247. data/doc/rdoc/classes/MongrelDbg.src/M000015.html +0 -19
  248. data/doc/rdoc/classes/ObjectTracker.src/M000013.html +0 -27
  249. data/doc/rdoc/classes/ObjectTracker.src/M000014.html +0 -44
  250. data/doc/rdoc/classes/RequestLog/Objects.src/M000145.html +0 -19
  251. data/doc/rdoc/classes/Stats.src/M000005.html +0 -19
  252. data/doc/rdoc/classes/Stats.src/M000006.html +0 -23
  253. data/doc/rdoc/classes/Stats.src/M000007.html +0 -26
  254. data/doc/rdoc/classes/Stats.src/M000008.html +0 -18
  255. data/doc/rdoc/classes/Stats.src/M000010.html +0 -18
  256. data/doc/rdoc/classes/Stats.src/M000011.html +0 -23
  257. data/doc/rdoc/classes/Stats.src/M000012.html +0 -20
  258. data/lib/http11.so +0 -0
data/Rakefile CHANGED
@@ -53,7 +53,7 @@ task :site => [:site_webgen, :site_rdoc, :site_coverage, :site_projects_rdoc]
53
53
  setup_extension("http11", "http11")
54
54
 
55
55
  name="mongrel"
56
- version="0.3.13.3"
56
+ version="0.3.13.4"
57
57
 
58
58
  setup_gem(name, version) do |spec|
59
59
  spec.summary = "A small fast HTTP library and server that runs Rails, Camping, and Nitro apps."
@@ -67,10 +67,10 @@ setup_gem(name, version) do |spec|
67
67
 
68
68
  if RUBY_PLATFORM =~ /mswin/
69
69
  Dir.chdir "projects/mongrel_service" do
70
- sh %{rake install }
70
+ `rake.cmd install`
71
71
  end
72
- spec.files << 'ext/http11/http11.so'
73
- spec.add_dependency('win32-service', '>= 0.5.0')
72
+ spec.files += ['ext/http11/http11.so']
73
+ spec.files += ['lib/http11.so']
74
74
  spec.extensions.clear
75
75
  spec.platform = Gem::Platform::WIN32
76
76
  else
@@ -87,6 +87,7 @@ task :install do
87
87
  sub_project("mongrel_status", :install)
88
88
  sub_project("mongrel_upload_progress", :install)
89
89
  sub_project("mongrel_console", :install)
90
+ sub_project("mongrel_cluster", :install)
90
91
  if RUBY_PLATFORM =~ /mswin/
91
92
  sub_project("mongrel_service", :install)
92
93
  end
@@ -10,220 +10,217 @@ require 'mongrel'
10
10
  require 'mongrel/rails'
11
11
  require 'etc'
12
12
 
13
+ module Mongrel
14
+ class Start < GemPlugin::Plugin "/commands"
15
+ include Mongrel::Command::Base
16
+
17
+ def configure
18
+ options [
19
+ ["-e", "--environment ENV", "Rails environment to run as", :@environment, ENV['RAILS_ENV'] || "development"],
20
+ ["-d", "--daemonize", "Whether to run in the background or not", :@daemon, false],
21
+ ['-p', '--port PORT', "Which port to bind to", :@port, 3000],
22
+ ['-a', '--address ADDR', "Address to bind to", :@address, "0.0.0.0"],
23
+ ['-l', '--log FILE', "Where to write log messages", :@log_file, "log/mongrel.log"],
24
+ ['-P', '--pid FILE', "Where to write the PID", :@pid_file, "log/mongrel.pid"],
25
+ ['-n', '--num-procs INT', "Number of processors active before clients denied", :@num_procs, 1024],
26
+ ['-t', '--timeout TIME', "Timeout all requests after 100th seconds time", :@timeout, 0],
27
+ ['-m', '--mime PATH', "A YAML file that lists additional MIME types", :@mime_map, nil],
28
+ ['-c', '--chdir PATH', "Change to dir before starting (will be expanded)", :@cwd, Dir.pwd],
29
+ ['-r', '--root PATH', "Set the document root (default 'public')", :@docroot, "public"],
30
+ ['-B', '--debug', "Enable debugging mode", :@debug, false],
31
+ ['-C', '--config PATH', "Use a config file", :@config_file, nil],
32
+ ['-S', '--script PATH', "Load the given file as an extra config script.", :@config_script, nil],
33
+ ['-G', '--generate CONFIG', "Generate a config file for -C", :@generate, nil],
34
+ ['', '--user USER', "User to run as", :@user, nil],
35
+ ['', '--group GROUP', "Group to run as", :@group, nil],
36
+ ['', '--prefix PATH', "URL prefix for Rails app", :@prefix, nil]
37
+ ]
38
+ end
13
39
 
14
- class Start < GemPlugin::Plugin "/commands"
15
- include Mongrel::Command::Base
16
-
17
- def configure
18
- options [
19
- ["-e", "--environment ENV", "Rails environment to run as", :@environment, ENV['RAILS_ENV'] || "development"],
20
- ["-d", "--daemonize", "Whether to run in the background or not", :@daemon, false],
21
- ['-p', '--port PORT', "Which port to bind to", :@port, 3000],
22
- ['-a', '--address ADDR', "Address to bind to", :@address, "0.0.0.0"],
23
- ['-l', '--log FILE', "Where to write log messages", :@log_file, "log/mongrel.log"],
24
- ['-P', '--pid FILE', "Where to write the PID", :@pid_file, "log/mongrel.pid"],
25
- ['-n', '--num-procs INT', "Number of processors active before clients denied", :@num_procs, 1024],
26
- ['-t', '--timeout TIME', "Timeout all requests after 100th seconds time", :@timeout, 0],
27
- ['-m', '--mime PATH', "A YAML file that lists additional MIME types", :@mime_map, nil],
28
- ['-c', '--chdir PATH', "Change to dir before starting (will be expanded)", :@cwd, Dir.pwd],
29
- ['-r', '--root PATH', "Set the document root (default 'public')", :@docroot, "public"],
30
- ['-B', '--debug', "Enable debugging mode", :@debug, false],
31
- ['-C', '--config PATH', "Use a config file", :@config_file, nil],
32
- ['-S', '--script PATH', "Load the given file as an extra config script.", :@config_script, nil],
33
- ['-G', '--generate CONFIG', "Generate a config file for -C", :@generate, nil],
34
- ['', '--user USER', "User to run as", :@user, nil],
35
- ['', '--group GROUP', "Group to run as", :@group, nil]
36
- ]
37
- end
38
-
39
- def validate
40
- @cwd = File.expand_path(@cwd)
41
- valid_dir? @cwd, "Invalid path to change to during daemon mode: #@cwd"
40
+ def validate
41
+ @cwd = File.expand_path(@cwd)
42
+ valid_dir? @cwd, "Invalid path to change to during daemon mode: #@cwd"
42
43
 
43
- # change there to start, then we'll have to come back after daemonize
44
- Dir.chdir(@cwd)
44
+ # change there to start, then we'll have to come back after daemonize
45
+ Dir.chdir(@cwd)
45
46
 
46
- valid_dir? File.dirname(@log_file), "Path to log file not valid: #@log_file"
47
- valid_dir? File.dirname(@pid_file), "Path to pid file not valid: #@pid_file"
48
- valid_dir? @docroot, "Path to docroot not valid: #@docroot"
49
- valid_exists? @mime_map, "MIME mapping file does not exist: #@mime_map" if @mime_map
50
- valid_exists? @config_file, "Config file not there: #@config_file" if @config_file
51
- valid_dir? File.dirname(@generate), "Problem accessing directory to #@generate" if @generate
52
- valid_user? @user if @user
53
- valid_group? @group if @group
47
+ valid?(@prefix[0].chr == "/" && @prefix[-1].chr != "/", "Prefix must begin with / and not end in /") if @prefix
48
+ valid_dir? File.dirname(@log_file), "Path to log file not valid: #@log_file"
49
+ valid_dir? File.dirname(@pid_file), "Path to pid file not valid: #@pid_file"
50
+ valid_dir? @docroot, "Path to docroot not valid: #@docroot"
51
+ valid_exists? @mime_map, "MIME mapping file does not exist: #@mime_map" if @mime_map
52
+ valid_exists? @config_file, "Config file not there: #@config_file" if @config_file
53
+ valid_dir? File.dirname(@generate), "Problem accessing directory to #@generate" if @generate
54
+ valid_user? @user if @user
55
+ valid_group? @group if @group
54
56
 
55
- return @valid
56
- end
57
-
58
-
59
- def run
60
-
61
- # command line setting override config file settings
62
- settings = { :host => @address, :port => @port, :cwd => @cwd,
63
- :log_file => @log_file, :pid_file => @pid_file, :environment => @environment,
64
- :docroot => @docroot, :mime_map => @mime_map, :daemon => @daemon,
65
- :debug => @debug, :includes => ["mongrel"], :config_script => @config_script,
66
- :num_processors => @num_procs, :timeout => @timeout,
67
- :user => @user, :group => @group
68
- }
69
-
70
- if @generate
71
- STDERR.puts "** Writing config to #@generate"
72
- open(@generate, "w") {|f| f.write(settings.to_yaml) }
73
- STDERR.puts "## Exiting. Re-run without -G and WITH -C using your new config file."
74
- exit 0
57
+ return @valid
75
58
  end
76
59
 
77
- if @config_file
78
- STDERR.puts "** Loading settings from #{@config_file} (they override command line)." unless settings[:daemon]
79
- conf = YAML.load_file(@config_file)
80
- settings = settings.merge! conf
81
- end
82
60
 
83
- config = Mongrel::Rails::RailsConfigurator.new(settings) do
84
- if defaults[:daemon]
85
- if File.exist? defaults[:pid_file]
86
- log "!!! PID file #{defaults[:pid_file]} already exists. Mongrel could be running already. Check your #{defaults[:log_file]} for errors."
87
- end
61
+ def run
62
+
63
+ # command line setting override config file settings
64
+ settings = { :host => @address, :port => @port, :cwd => @cwd,
65
+ :log_file => @log_file, :pid_file => @pid_file, :environment => @environment,
66
+ :docroot => @docroot, :mime_map => @mime_map, :daemon => @daemon,
67
+ :debug => @debug, :includes => ["mongrel"], :config_script => @config_script,
68
+ :num_processors => @num_procs, :timeout => @timeout,
69
+ :user => @user, :group => @group, :prefix => @prefix, :config_file => @config_file
70
+ }
88
71
 
89
- daemonize
90
- log "Daemonized, any open files are closed. Look at #{defaults[:pid_file]} and #{defaults[:log_file]} for info."
91
- log "Settings loaded from #{@config_file} (they override command line)." if @config_file
72
+ if @generate
73
+ STDERR.puts "** Writing config to #@generate"
74
+ open(@generate, "w") {|f| f.write(settings.to_yaml) }
75
+ STDERR.puts "## Exiting. Re-run without -G and WITH -C using your new config file."
76
+ exit 0
92
77
  end
93
78
 
94
- log "Starting Mongrel listening at #{defaults[:host]}:#{defaults[:port]}"
79
+ if @config_file
80
+ conf = YAML.load_file(@config_file)
81
+ settings = settings.merge! conf
82
+ STDERR.puts "** Loading settings from #{@config_file} (they override command line)." unless settings[:daemon]
83
+ end
95
84
 
96
- listener do
97
- mime = {}
98
- if defaults[:mime_map]
99
- log "Loading additional MIME types from #{defaults[:mime_map]}"
100
- mime = load_mime_map(defaults[:mime_map], mime)
101
- end
85
+ config = Mongrel::Rails::RailsConfigurator.new(settings) do
86
+ if defaults[:daemon]
87
+ if File.exist? defaults[:pid_file]
88
+ log "!!! PID file #{defaults[:pid_file]} already exists. Mongrel could be running already. Check your #{defaults[:log_file]} for errors."
89
+ end
102
90
 
103
- if defaults[:debug]
104
- log "Installing debugging prefixed filters. Look in log/mongrel_debug for the files."
105
- debug "/"
106
- elsif not defaults[:daemon]
107
- # they don't have debug on and aren't in daemon so at least log accesses
108
- debug "/", what = [:files]
91
+ daemonize
92
+ log "Daemonized, any open files are closed. Look at #{defaults[:pid_file]} and #{defaults[:log_file]} for info."
93
+ log "Settings loaded from #{@config_file} (they override command line)." if @config_file
109
94
  end
110
95
 
111
- log "Starting Rails with #{defaults[:environment]} environment ..."
112
- uri "/", :handler => rails(:mime => mime)
113
- log "Rails loaded."
96
+ log "Starting Mongrel listening at #{defaults[:host]}:#{defaults[:port]}"
114
97
 
115
- log "Loading any Rails specific GemPlugins"
116
- load_plugins
98
+ listener do
99
+ mime = {}
100
+ if defaults[:mime_map]
101
+ log "Loading additional MIME types from #{defaults[:mime_map]}"
102
+ mime = load_mime_map(defaults[:mime_map], mime)
103
+ end
117
104
 
118
- if defaults[:config_script]
119
- log "Loading #{defaults[:config_script]} external config script"
120
- run_config(defaults[:config_script])
121
- end
105
+ if defaults[:debug]
106
+ log "Installing debugging prefixed filters. Look in log/mongrel_debug for the files."
107
+ debug "/"
108
+ end
122
109
 
123
- setup_rails_signals
124
- end
125
- end
110
+ log "Starting Rails with #{defaults[:environment]} environment..."
111
+ log "Mounting Rails at #{defaults[:prefix]}..." if defaults[:prefix]
112
+ uri defaults[:prefix] || "/", :handler => rails(:mime => mime, :prefix => defaults[:prefix])
113
+ log "Rails loaded."
126
114
 
127
- config.run
128
- config.log "Mongrel available at #{settings[:host]}:#{settings[:port]}"
129
-
130
- if not @daemon
131
- config.log "Use CTRL-C to stop."
132
- else
133
- config.write_pid_file
134
- end
115
+ log "Loading any Rails specific GemPlugins"
116
+ load_plugins
117
+
118
+ if defaults[:config_script]
119
+ log "Loading #{defaults[:config_script]} external config script"
120
+ run_config(defaults[:config_script])
121
+ end
122
+
123
+ setup_rails_signals
124
+ end
125
+ end
135
126
 
136
- config.join
127
+ config.run
128
+ config.log "Mongrel available at #{settings[:host]}:#{settings[:port]}"
137
129
 
138
- if config.needs_restart
139
- if RUBY_PLATFORM !~ /mswin/
140
- cmd = "ruby #{__FILE__} start #{original_args.join(' ')}"
141
- config.log "Restarting with arguments: #{cmd}"
142
- exec cmd
130
+ if config.defaults[:daemon]
131
+ config.write_pid_file
143
132
  else
144
- config.log "Win32 does not support restarts. Exiting."
133
+ config.log "Use CTRL-C to stop."
134
+ end
135
+
136
+ config.join
137
+
138
+ if config.needs_restart
139
+ if RUBY_PLATFORM !~ /mswin/
140
+ cmd = "ruby #{__FILE__} start #{original_args.join(' ')}"
141
+ config.log "Restarting with arguments: #{cmd}"
142
+ exec cmd
143
+ else
144
+ config.log "Win32 does not support restarts. Exiting."
145
+ end
145
146
  end
146
147
  end
147
148
  end
148
- end
149
149
 
150
- def send_signal(signal, pid_file)
151
- pid = open(pid_file).read.to_i
152
- print "Sending #{signal} to Mongrel at PID #{pid}..."
153
- begin
154
- Process.kill(signal, pid)
155
- rescue Errno::ESRCH
156
- puts "Process does not exist. Not running."
157
- end
150
+ def Mongrel::send_signal(signal, pid_file)
151
+ pid = open(pid_file).read.to_i
152
+ print "Sending #{signal} to Mongrel at PID #{pid}..."
153
+ begin
154
+ Process.kill(signal, pid)
155
+ rescue Errno::ESRCH
156
+ puts "Process does not exist. Not running."
157
+ end
158
158
 
159
- puts "Done."
160
- end
159
+ puts "Done."
160
+ end
161
161
 
162
162
 
163
- class Stop < GemPlugin::Plugin "/commands"
164
- include Mongrel::Command::Base
163
+ class Stop < GemPlugin::Plugin "/commands"
164
+ include Mongrel::Command::Base
165
165
 
166
- def configure
167
- options [
168
- ['-c', '--chdir PATH', "Change to dir before starting (will be expanded)", :@cwd, nil],
169
- ['-f', '--force', "Force the shutdown.", :@force, false],
170
- ['-P', '--pid FILE', "Where to write the PID", :@pid_file, "log/mongrel.pid"]
171
- ]
172
- end
166
+ def configure
167
+ options [
168
+ ['-c', '--chdir PATH', "Change to dir before starting (will be expanded)", :@cwd, "."],
169
+ ['-f', '--force', "Force the shutdown.", :@force, false],
170
+ ['-P', '--pid FILE', "Where the PID file is located", :@pid_file, "log/mongrel.pid"]
171
+ ]
172
+ end
173
173
 
174
- def validate
175
- if @cwd
174
+ def validate
176
175
  @cwd = File.expand_path(@cwd)
177
176
  valid_dir? @cwd, "Invalid path to change to during daemon mode: #@cwd"
178
- @pid_file = File.join(@cwd,@pid_file)
179
- end
180
177
 
181
- valid_exists? @pid_file, "PID file #@pid_file does not exist. Not running?"
178
+ Dir.chdir @cwd
182
179
 
183
- return @valid
184
- end
180
+ valid_exists? @pid_file, "PID file #@pid_file does not exist. Not running?"
181
+ return @valid
182
+ end
185
183
 
186
184
 
187
- def run
188
- if @force
189
- send_signal("KILL", @pid_file)
190
- else
191
- send_signal("TERM", @pid_file)
185
+ def run
186
+ if @force
187
+ Mongrel::send_signal("KILL", @pid_file)
188
+ else
189
+ Mongrel::send_signal("TERM", @pid_file)
190
+ end
192
191
  end
193
192
  end
194
- end
195
193
 
196
194
 
197
195
 
198
- class Restart < GemPlugin::Plugin "/commands"
199
- include Mongrel::Command::Base
196
+ class Restart < GemPlugin::Plugin "/commands"
197
+ include Mongrel::Command::Base
200
198
 
201
- def configure
202
- options [
203
- ['-c', '--chdir PATH', "Change to dir before starting (will be expanded)", :@cwd, nil],
204
- ['-s', '--soft', "Do a soft restart rather than a process exit restart", :@soft, false],
205
- ['-P', '--pid FILE', "Where to write the PID", :@pid_file, "log/mongrel.pid"]
206
- ]
207
- end
199
+ def configure
200
+ options [
201
+ ['-c', '--chdir PATH', "Change to dir before starting (will be expanded)", :@cwd, '.'],
202
+ ['-s', '--soft', "Do a soft restart rather than a process exit restart", :@soft, false],
203
+ ['-P', '--pid FILE', "Where the PID file is located", :@pid_file, "log/mongrel.pid"]
204
+ ]
205
+ end
208
206
 
209
- def validate
210
- if @cwd
207
+ def validate
211
208
  @cwd = File.expand_path(@cwd)
212
209
  valid_dir? @cwd, "Invalid path to change to during daemon mode: #@cwd"
213
- @pid_file = File.join(@cwd,@pid_file)
214
- end
215
210
 
216
- valid_exists? @pid_file, "PID file #@pid_file does not exist. Not running?"
211
+ Dir.chdir @cwd
217
212
 
218
- return @valid
219
- end
213
+ valid_exists? @pid_file, "PID file #@pid_file does not exist. Not running?"
214
+ return @valid
215
+ end
220
216
 
221
217
 
222
- def run
223
- if @soft
224
- send_signal("HUP", @pid_file)
225
- else
226
- send_signal("USR2", @pid_file)
218
+ def run
219
+ if @soft
220
+ Mongrel::send_signal("HUP", @pid_file)
221
+ else
222
+ Mongrel::send_signal("USR2", @pid_file)
223
+ end
227
224
  end
228
225
  end
229
226
  end
@@ -231,10 +228,6 @@ end
231
228
 
232
229
  GemPlugin::Manager.instance.load "mongrel" => GemPlugin::INCLUDE, "rails" => GemPlugin::EXCLUDE
233
230
 
234
-
235
231
  if not Mongrel::Command::Registry.instance.run ARGV
236
232
  exit 1
237
233
  end
238
-
239
-
240
-
@@ -10,10 +10,10 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/mongrel/debug.rb, line 104</span>
14
- 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
15
- 105: <span class="ruby-identifier">$open_files</span>[<span class="ruby-keyword kw">self</span>] = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">inspect</span>
16
- 106: <span class="ruby-identifier">orig_open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
17
- 107: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/debug.rb, line 64</span>
14
+ 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
15
+ 65: <span class="ruby-identifier">$open_files</span>[<span class="ruby-keyword kw">self</span>] = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">inspect</span>
16
+ 66: <span class="ruby-identifier">orig_open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
17
+ 67: <span class="ruby-keyword kw">end</span></pre>
18
18
  </body>
19
19
  </html>
@@ -10,10 +10,10 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/mongrel/debug.rb, line 109</span>
14
- 109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
15
- 110: <span class="ruby-identifier">$open_files</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword kw">self</span>
16
- 111: <span class="ruby-identifier">orig_close</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
17
- 112: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/debug.rb, line 69</span>
14
+ 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
15
+ 70: <span class="ruby-identifier">$open_files</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword kw">self</span>
16
+ 71: <span class="ruby-identifier">orig_close</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
17
+ 72: <span class="ruby-keyword kw">end</span></pre>
18
18
  </body>
19
19
  </html>