mongrel 0.3.13.4 → 1.0

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 (256) hide show
  1. data/README +1 -75
  2. data/Rakefile +14 -14
  3. data/bin/mongrel_rails +35 -23
  4. data/doc/rdoc/classes/IO.html +12 -12
  5. data/doc/rdoc/classes/IO.src/{M000001.html → M000003.html} +0 -0
  6. data/doc/rdoc/classes/IO.src/{M000002.html → M000004.html} +0 -0
  7. data/doc/rdoc/classes/Kernel.html +11 -11
  8. data/doc/rdoc/classes/Kernel.src/{M000010.html → M000012.html} +0 -0
  9. data/doc/rdoc/classes/Kernel.src/{M000011.html → M000013.html} +0 -0
  10. data/doc/rdoc/classes/Mongrel.html +3 -3
  11. data/doc/rdoc/classes/Mongrel/CGIWrapper.html +77 -69
  12. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html +12 -19
  13. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000116.html +34 -12
  14. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000117.html +21 -5
  15. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000118.html +19 -5
  16. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000119.html +12 -5
  17. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000120.html +5 -6
  18. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000121.html +18 -0
  19. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000122.html +18 -0
  20. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000123.html +19 -0
  21. data/doc/rdoc/classes/Mongrel/Camping.html +8 -8
  22. data/doc/rdoc/classes/Mongrel/Camping.src/M000041.html +22 -0
  23. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +31 -12
  24. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000042.html +20 -0
  25. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000043.html +58 -0
  26. data/doc/rdoc/classes/Mongrel/Command/Base.html +75 -73
  27. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html +11 -5
  28. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000019.html +29 -5
  29. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000020.html +5 -5
  30. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000021.html +5 -5
  31. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000022.html +5 -9
  32. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000023.html +5 -5
  33. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000024.html +9 -5
  34. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000025.html +5 -5
  35. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +5 -11
  36. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +5 -11
  37. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +11 -5
  38. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html +24 -0
  39. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html +18 -0
  40. data/doc/rdoc/classes/Mongrel/Command/Registry.html +20 -20
  41. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html +7 -45
  42. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000030.html → M000032.html} +0 -0
  43. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000033.html +58 -0
  44. data/doc/rdoc/classes/Mongrel/Configurator.html +163 -140
  45. data/doc/rdoc/classes/Mongrel/Configurator.src/M000093.html +14 -8
  46. data/doc/rdoc/classes/Mongrel/Configurator.src/M000094.html +18 -7
  47. data/doc/rdoc/classes/Mongrel/Configurator.src/M000095.html +5 -10
  48. data/doc/rdoc/classes/Mongrel/Configurator.src/M000096.html +8 -5
  49. data/doc/rdoc/classes/Mongrel/Configurator.src/M000097.html +7 -25
  50. data/doc/rdoc/classes/Mongrel/Configurator.src/M000098.html +10 -6
  51. data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +5 -26
  52. data/doc/rdoc/classes/Mongrel/Configurator.src/M000100.html +25 -20
  53. data/doc/rdoc/classes/Mongrel/Configurator.src/M000101.html +6 -5
  54. data/doc/rdoc/classes/Mongrel/Configurator.src/M000102.html +26 -11
  55. data/doc/rdoc/classes/Mongrel/Configurator.src/M000103.html +20 -6
  56. data/doc/rdoc/classes/Mongrel/Configurator.src/M000104.html +5 -5
  57. data/doc/rdoc/classes/Mongrel/Configurator.src/M000105.html +11 -9
  58. data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +6 -9
  59. data/doc/rdoc/classes/Mongrel/Configurator.src/M000107.html +5 -5
  60. data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +9 -21
  61. data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +9 -5
  62. data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +5 -23
  63. data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +21 -5
  64. data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +18 -0
  65. data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +36 -0
  66. data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +18 -0
  67. data/doc/rdoc/classes/Mongrel/Const.html +8 -9
  68. data/doc/rdoc/classes/Mongrel/DeflateFilter.html +19 -12
  69. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000121.html → M000124.html} +5 -5
  70. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000122.html → M000125.html} +9 -14
  71. data/doc/rdoc/classes/Mongrel/DirHandler.html +43 -43
  72. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000051.html +8 -25
  73. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html +29 -50
  74. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000053.html +25 -26
  75. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000054.html +52 -5
  76. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000055.html +39 -0
  77. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html +18 -0
  78. data/doc/rdoc/classes/Mongrel/Error404Handler.html +11 -11
  79. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000123.html → M000126.html} +4 -4
  80. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000124.html → M000127.html} +4 -4
  81. data/doc/rdoc/classes/Mongrel/HeaderOut.html +15 -10
  82. data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000066.html +21 -0
  83. data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000067.html +21 -0
  84. data/doc/rdoc/classes/Mongrel/HttpHandler.html +25 -23
  85. data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000072.html +4 -4
  86. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000071.html → M000073.html} +3 -3
  87. data/doc/rdoc/classes/Mongrel/{HttpHandlerPlugin.src/M000012.html → HttpHandler.src/M000074.html} +4 -4
  88. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +22 -21
  89. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000014.html +4 -6
  90. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000015.html +4 -4
  91. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000016.html +19 -0
  92. data/doc/rdoc/classes/Mongrel/{HttpHandler.src/M000070.html → HttpHandlerPlugin.src/M000017.html} +4 -4
  93. data/doc/rdoc/classes/Mongrel/HttpParser.html +44 -42
  94. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000044.html +6 -7
  95. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000045.html +7 -37
  96. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000046.html +7 -5
  97. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000047.html +37 -5
  98. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000048.html +5 -6
  99. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000042.html → M000049.html} +5 -6
  100. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000043.html → M000050.html} +6 -7
  101. data/doc/rdoc/classes/Mongrel/HttpRequest.html +37 -40
  102. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000133.html +37 -7
  103. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000134.html +28 -7
  104. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000135.html +16 -19
  105. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000136.html +20 -0
  106. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000137.html +20 -0
  107. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html +32 -0
  108. data/doc/rdoc/classes/Mongrel/HttpResponse.html +95 -85
  109. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +12 -13
  110. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +7 -9
  111. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html +13 -9
  112. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html +9 -9
  113. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +9 -18
  114. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000080.html +9 -8
  115. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +18 -7
  116. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +8 -7
  117. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +7 -7
  118. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +7 -5
  119. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000085.html +20 -0
  120. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html +18 -0
  121. data/doc/rdoc/classes/Mongrel/HttpServer.html +59 -63
  122. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000057.html +12 -19
  123. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000058.html +87 -8
  124. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html +19 -9
  125. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html +8 -49
  126. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000061.html +16 -21
  127. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html +52 -5
  128. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html +21 -9
  129. data/doc/rdoc/classes/Mongrel/{HeaderOut.src → HttpServer.src}/M000064.html +5 -5
  130. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html +22 -0
  131. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +27 -25
  132. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000034.html +24 -13
  133. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000033.html → M000035.html} +11 -11
  134. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000036.html +26 -0
  135. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +24 -26
  136. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html +10 -8
  137. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html +43 -12
  138. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000039.html +20 -0
  139. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000040.html +25 -0
  140. data/doc/rdoc/classes/Mongrel/RedirectHandler.html +10 -10
  141. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000128.html → M000131.html} +8 -8
  142. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000129.html → M000132.html} +13 -13
  143. data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +20 -20
  144. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000125.html → M000128.html} +10 -10
  145. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000126.html → M000129.html} +10 -10
  146. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000127.html → M000130.html} +4 -4
  147. data/doc/rdoc/classes/Mongrel/Stats.html +43 -42
  148. data/doc/rdoc/classes/Mongrel/Stats.src/M000139.html +6 -5
  149. data/doc/rdoc/classes/Mongrel/Stats.src/M000140.html +10 -5
  150. data/doc/rdoc/classes/Mongrel/Stats.src/M000141.html +13 -5
  151. data/doc/rdoc/classes/Mongrel/Stats.src/M000142.html +5 -10
  152. data/doc/rdoc/classes/Mongrel/Stats.src/M000143.html +5 -7
  153. data/doc/rdoc/classes/Mongrel/Stats.src/{M000136.html → M000144.html} +5 -6
  154. data/doc/rdoc/classes/Mongrel/Stats.src/M000145.html +23 -0
  155. data/doc/rdoc/classes/Mongrel/Stats.src/M000146.html +20 -0
  156. data/doc/rdoc/classes/Mongrel/StatusHandler.html +21 -21
  157. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000068.html +5 -29
  158. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000069.html +11 -7
  159. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000070.html +42 -0
  160. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html +20 -0
  161. data/doc/rdoc/classes/Mongrel/URIClassifier.html +58 -55
  162. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000087.html +5 -26
  163. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html +5 -38
  164. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html +18 -15
  165. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000090.html +25 -57
  166. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000091.html +36 -0
  167. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html +83 -0
  168. data/doc/rdoc/classes/MongrelDbg.html +25 -25
  169. data/doc/rdoc/classes/MongrelDbg.src/M000007.html +11 -9
  170. data/doc/rdoc/classes/MongrelDbg.src/M000008.html +7 -8
  171. data/doc/rdoc/classes/MongrelDbg.src/M000009.html +9 -5
  172. data/doc/rdoc/classes/MongrelDbg.src/M000010.html +21 -0
  173. data/doc/rdoc/classes/MongrelDbg.src/M000011.html +18 -0
  174. data/doc/rdoc/classes/{Sync.html → Mutex.html} +50 -19
  175. data/doc/rdoc/classes/Mutex.src/M000001.html +24 -0
  176. data/doc/rdoc/classes/Mutex.src/M000002.html +32 -0
  177. data/doc/rdoc/classes/RequestLog/Access.html +5 -5
  178. data/doc/rdoc/classes/RequestLog/Access.src/{M000144.html → M000147.html} +0 -0
  179. data/doc/rdoc/classes/RequestLog/Files.html +5 -5
  180. data/doc/rdoc/classes/RequestLog/Files.src/{M000145.html → M000148.html} +0 -0
  181. data/doc/rdoc/classes/RequestLog/Objects.html +5 -5
  182. data/doc/rdoc/classes/RequestLog/Objects.src/{M000147.html → M000150.html} +0 -0
  183. data/doc/rdoc/classes/RequestLog/Params.html +5 -5
  184. data/doc/rdoc/classes/RequestLog/Params.src/{M000148.html → M000151.html} +0 -0
  185. data/doc/rdoc/classes/RequestLog/Threads.html +5 -5
  186. data/doc/rdoc/classes/RequestLog/Threads.src/{M000146.html → M000149.html} +0 -0
  187. data/doc/rdoc/classes/TCPServer.html +10 -10
  188. data/doc/rdoc/classes/TCPServer.src/{M000003.html → M000005.html} +0 -0
  189. data/doc/rdoc/created.rid +1 -1
  190. data/doc/rdoc/files/COPYING.html +1 -1
  191. data/doc/rdoc/files/LICENSE.html +1 -1
  192. data/doc/rdoc/files/README.html +11 -100
  193. data/doc/rdoc/files/ext/http11/http11_c.html +1 -1
  194. data/doc/rdoc/files/lib/mongrel/camping_rb.html +2 -2
  195. data/doc/rdoc/files/lib/mongrel/cgi_rb.html +2 -2
  196. data/doc/rdoc/files/lib/mongrel/command_rb.html +2 -2
  197. data/doc/rdoc/files/lib/mongrel/configurator_rb.html +1 -1
  198. data/doc/rdoc/files/lib/mongrel/debug_rb.html +2 -2
  199. data/doc/rdoc/files/lib/mongrel/handlers_rb.html +3 -2
  200. data/doc/rdoc/files/lib/mongrel/init_rb.html +2 -2
  201. data/doc/rdoc/files/lib/mongrel/rails_rb.html +2 -3
  202. data/doc/rdoc/files/lib/mongrel/stats_rb.html +2 -2
  203. data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +2 -2
  204. data/doc/rdoc/files/lib/mongrel_rb.html +5 -3
  205. data/doc/rdoc/files/lib/mutex_fix_rb.html +108 -0
  206. data/doc/rdoc/fr_class_index.html +1 -1
  207. data/doc/rdoc/fr_file_index.html +1 -0
  208. data/doc/rdoc/fr_method_index.html +151 -148
  209. data/ext/http11/http11.c +2 -2
  210. data/lib/mongrel.rb +85 -38
  211. data/lib/mongrel/camping.rb +17 -4
  212. data/lib/mongrel/configurator.rb +11 -7
  213. data/lib/mongrel/handlers.rb +30 -27
  214. data/lib/mongrel/mime_types.yml +615 -0
  215. data/lib/mongrel/rails.rb +21 -28
  216. data/lib/mutex_fix.rb +34 -0
  217. data/test/test_handlers.rb +16 -4
  218. data/test/test_http11.rb +8 -0
  219. data/test/test_request_progress.rb +45 -2
  220. data/test/test_response.rb +31 -0
  221. metadata +95 -71
  222. data/bin/mongrel_rails_service +0 -246
  223. data/bin/mongrel_rails_svc +0 -307
  224. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000112.html +0 -25
  225. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000113.html +0 -47
  226. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000114.html +0 -34
  227. data/doc/rdoc/classes/Mongrel/Camping.src/M000039.html +0 -22
  228. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000040.html +0 -18
  229. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000041.html +0 -51
  230. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000016.html +0 -24
  231. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000017.html +0 -42
  232. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000029.html +0 -20
  233. data/doc/rdoc/classes/Mongrel/Configurator.src/M000091.html +0 -27
  234. data/doc/rdoc/classes/Mongrel/Configurator.src/M000092.html +0 -31
  235. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000049.html +0 -21
  236. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000050.html +0 -43
  237. data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000065.html +0 -18
  238. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000013.html +0 -17
  239. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000130.html +0 -47
  240. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000131.html +0 -37
  241. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000132.html +0 -29
  242. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000073.html +0 -25
  243. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000074.html +0 -20
  244. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000055.html +0 -25
  245. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000056.html +0 -91
  246. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000032.html +0 -37
  247. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000035.html +0 -23
  248. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000036.html +0 -54
  249. data/doc/rdoc/classes/Mongrel/Stats.src/M000137.html +0 -23
  250. data/doc/rdoc/classes/Mongrel/Stats.src/M000138.html +0 -26
  251. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000066.html +0 -18
  252. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000067.html +0 -24
  253. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000085.html +0 -18
  254. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000086.html +0 -18
  255. data/doc/rdoc/classes/MongrelDbg.src/M000005.html +0 -24
  256. data/doc/rdoc/classes/MongrelDbg.src/M000006.html +0 -20
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>join (Mongrel::Configurator)</title>
8
+ <title>redirect (Mongrel::Configurator)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/configurator.rb, line 288</span>
14
- 288: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">join</span>
15
- 289: <span class="ruby-ivar">@listeners</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">acceptor</span>.<span class="ruby-identifier">join</span> }
16
- 290: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 262</span>
14
+ 262: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">redirect</span>(<span class="ruby-identifier">from</span>, <span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">replacement</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
15
+ 263: <span class="ruby-identifier">uri</span> <span class="ruby-identifier">from</span>, <span class="ruby-identifier">:handler</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Mongrel</span><span class="ruby-operator">::</span><span class="ruby-constant">RedirectHandler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">replacement</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
16
+ 264: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,30 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>debug (Mongrel::Configurator)</title>
8
+ <title>run (Mongrel::Configurator)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/configurator.rb, line 308</span>
14
- 308: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">location</span>, <span class="ruby-identifier">what</span> = [<span class="ruby-identifier">:objects</span>, <span class="ruby-identifier">:rails</span>, <span class="ruby-identifier">:files</span>, <span class="ruby-identifier">:threads</span>, <span class="ruby-identifier">:params</span>])
15
- 309: <span class="ruby-identifier">require</span> <span class="ruby-value str">'mongrel/debug'</span>
16
- 310: <span class="ruby-identifier">handlers</span> = {
17
- 311: <span class="ruby-identifier">:files</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::access&quot;</span>,
18
- 312: <span class="ruby-identifier">:rails</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::files&quot;</span>,
19
- 313: <span class="ruby-identifier">:objects</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::objects&quot;</span>,
20
- 314: <span class="ruby-identifier">:threads</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::threads&quot;</span>,
21
- 315: <span class="ruby-identifier">:params</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::params&quot;</span>
22
- 316: }
23
- 317:
24
- 318: <span class="ruby-comment cmt"># turn on the debugging infrastructure, and ObjectTracker is a pig</span>
25
- 319: <span class="ruby-constant">MongrelDbg</span>.<span class="ruby-identifier">configure</span>
26
- 320:
27
- 321: <span class="ruby-comment cmt"># now we roll through each requested debug type, turn it on and load that plugin</span>
28
- 322: <span class="ruby-identifier">what</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span><span class="ruby-operator">|</span>
29
- 323: <span class="ruby-constant">MongrelDbg</span>.<span class="ruby-identifier">begin_trace</span> <span class="ruby-identifier">type</span>
30
- 324: <span class="ruby-identifier">uri</span> <span class="ruby-identifier">location</span>, <span class="ruby-identifier">:handler</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">plugin</span>(<span class="ruby-identifier">handlers</span>[<span class="ruby-identifier">type</span>])
31
- 325: <span class="ruby-keyword kw">end</span>
32
- 326: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 269</span>
14
+ 269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
15
+ 270: <span class="ruby-ivar">@listeners</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">name</span>,<span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
16
+ 271: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">run</span>
17
+ 272: }
18
+ 273:
19
+ 274: <span class="ruby-identifier">$mongrel_sleeper_thread</span> = <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> { <span class="ruby-identifier">loop</span> { <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span> } }
20
+ 275: <span class="ruby-keyword kw">end</span></pre>
33
21
  </body>
34
22
  </html>
@@ -5,14 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>run_config (Mongrel::Configurator)</title>
8
+ <title>stop (Mongrel::Configurator)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/configurator.rb, line 332</span>
14
- 332: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run_config</span>(<span class="ruby-identifier">script</span>)
15
- 333: <span class="ruby-identifier">open</span>(<span class="ruby-identifier">script</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>, <span class="ruby-identifier">proc</span> {<span class="ruby-keyword kw">self</span>}) }
16
- 334: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 280</span>
14
+ 280: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop</span>(<span class="ruby-identifier">needs_restart</span>=<span class="ruby-keyword kw">false</span>)
15
+ 281: <span class="ruby-ivar">@listeners</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">name</span>,<span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
16
+ 282: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">stop</span>
17
+ 283: }
18
+ 284:
19
+ 285: <span class="ruby-ivar">@needs_restart</span> = <span class="ruby-identifier">needs_restart</span>
20
+ 286: <span class="ruby-keyword kw">end</span></pre>
17
21
  </body>
18
22
  </html>
@@ -5,32 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>setup_signals (Mongrel::Configurator)</title>
8
+ <title>join (Mongrel::Configurator)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/configurator.rb, line 346</span>
14
- 346: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup_signals</span>(<span class="ruby-identifier">options</span>={})
15
- 347: <span class="ruby-identifier">ops</span> = <span class="ruby-identifier">resolve_defaults</span>(<span class="ruby-identifier">options</span>)
16
- 348:
17
- 349: <span class="ruby-comment cmt"># forced shutdown, even if previously restarted (actually just like TERM but for CTRL-C)</span>
18
- 350: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;INT&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;INT signal received.&quot;</span>; <span class="ruby-identifier">stop</span>(<span class="ruby-keyword kw">false</span>) }
19
- 351:
20
- 352: <span class="ruby-comment cmt"># clean up the pid file always</span>
21
- 353: <span class="ruby-identifier">at_exit</span> { <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span>(<span class="ruby-ivar">@pid_file</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pid_file</span> <span class="ruby-keyword kw">and</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-ivar">@pid_file</span>) }
22
- 354:
23
- 355: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/mswin/</span>
24
- 356: <span class="ruby-comment cmt"># graceful shutdown</span>
25
- 357: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;TERM&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;TERM signal received.&quot;</span>; <span class="ruby-identifier">stop</span> }
26
- 358: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;USR1&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-node">&quot;USR1 received, toggling $mongrel_debug_client to #{!$mongrel_debug_client}&quot;</span>; <span class="ruby-identifier">$mongrel_debug_client</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">$mongrel_debug_client</span> }
27
- 359: <span class="ruby-comment cmt"># restart</span>
28
- 360: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;USR2&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;USR2 signal received.&quot;</span>; <span class="ruby-identifier">stop</span>(<span class="ruby-keyword kw">true</span>) }
29
- 361:
30
- 362: <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;Signals ready. TERM =&gt; stop. USR2 =&gt; restart. INT =&gt; stop (no restart).&quot;</span>
31
- 363: <span class="ruby-keyword kw">else</span>
32
- 364: <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;Signals ready. INT =&gt; stop (no restart).&quot;</span>
33
- 365: <span class="ruby-keyword kw">end</span>
34
- 366: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 292</span>
14
+ 292: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">join</span>
15
+ 293: <span class="ruby-ivar">@listeners</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">acceptor</span>.<span class="ruby-identifier">join</span> }
16
+ 294: <span class="ruby-keyword kw">end</span></pre>
35
17
  </body>
36
18
  </html>
@@ -5,14 +5,30 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>log (Mongrel::Configurator)</title>
8
+ <title>debug (Mongrel::Configurator)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/configurator.rb, line 369</span>
14
- 369: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log</span>(<span class="ruby-identifier">msg</span>)
15
- 370: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;** &quot;</span>, <span class="ruby-identifier">msg</span>, <span class="ruby-value str">&quot;\n&quot;</span>
16
- 371: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 312</span>
14
+ 312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">location</span>, <span class="ruby-identifier">what</span> = [<span class="ruby-identifier">:access</span>, <span class="ruby-identifier">:files</span>, <span class="ruby-identifier">:objects</span>, <span class="ruby-identifier">:threads</span>, <span class="ruby-identifier">:rails</span>])
15
+ 313: <span class="ruby-identifier">require</span> <span class="ruby-value str">'mongrel/debug'</span>
16
+ 314: <span class="ruby-identifier">handlers</span> = {
17
+ 315: <span class="ruby-identifier">:access</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::access&quot;</span>,
18
+ 316: <span class="ruby-identifier">:files</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::files&quot;</span>,
19
+ 317: <span class="ruby-identifier">:objects</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::objects&quot;</span>,
20
+ 318: <span class="ruby-identifier">:threads</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::threads&quot;</span>,
21
+ 319: <span class="ruby-identifier">:rails</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;/handlers/requestlog::params&quot;</span>
22
+ 320: }
23
+ 321:
24
+ 322: <span class="ruby-comment cmt"># turn on the debugging infrastructure, and ObjectTracker is a pig</span>
25
+ 323: <span class="ruby-constant">MongrelDbg</span>.<span class="ruby-identifier">configure</span>
26
+ 324:
27
+ 325: <span class="ruby-comment cmt"># now we roll through each requested debug type, turn it on and load that plugin</span>
28
+ 326: <span class="ruby-identifier">what</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span><span class="ruby-operator">|</span>
29
+ 327: <span class="ruby-constant">MongrelDbg</span>.<span class="ruby-identifier">begin_trace</span> <span class="ruby-identifier">type</span>
30
+ 328: <span class="ruby-identifier">uri</span> <span class="ruby-identifier">location</span>, <span class="ruby-identifier">:handler</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">plugin</span>(<span class="ruby-identifier">handlers</span>[<span class="ruby-identifier">type</span>])
31
+ 329: <span class="ruby-keyword kw">end</span>
32
+ 330: <span class="ruby-keyword kw">end</span></pre>
17
33
  </body>
18
34
  </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>run_config (Mongrel::Configurator)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 336</span>
14
+ 336: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run_config</span>(<span class="ruby-identifier">script</span>)
15
+ 337: <span class="ruby-identifier">open</span>(<span class="ruby-identifier">script</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>, <span class="ruby-identifier">proc</span> {<span class="ruby-keyword kw">self</span>}) }
16
+ 338: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>setup_signals (Mongrel::Configurator)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 350</span>
14
+ 350: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup_signals</span>(<span class="ruby-identifier">options</span>={})
15
+ 351: <span class="ruby-identifier">ops</span> = <span class="ruby-identifier">resolve_defaults</span>(<span class="ruby-identifier">options</span>)
16
+ 352:
17
+ 353: <span class="ruby-comment cmt"># forced shutdown, even if previously restarted (actually just like TERM but for CTRL-C)</span>
18
+ 354: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;INT&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;INT signal received.&quot;</span>; <span class="ruby-identifier">stop</span>(<span class="ruby-keyword kw">false</span>) }
19
+ 355:
20
+ 356: <span class="ruby-comment cmt"># clean up the pid file always</span>
21
+ 357: <span class="ruby-identifier">at_exit</span> { <span class="ruby-identifier">remove_pid_file</span> }
22
+ 358:
23
+ 359: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/mswin/</span>
24
+ 360: <span class="ruby-comment cmt"># graceful shutdown</span>
25
+ 361: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;TERM&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;TERM signal received.&quot;</span>; <span class="ruby-identifier">stop</span> }
26
+ 362: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;USR1&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-node">&quot;USR1 received, toggling $mongrel_debug_client to #{!$mongrel_debug_client}&quot;</span>; <span class="ruby-identifier">$mongrel_debug_client</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">$mongrel_debug_client</span> }
27
+ 363: <span class="ruby-comment cmt"># restart</span>
28
+ 364: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">&quot;USR2&quot;</span>) { <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;USR2 signal received.&quot;</span>; <span class="ruby-identifier">stop</span>(<span class="ruby-keyword kw">true</span>) }
29
+ 365:
30
+ 366: <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;Signals ready. TERM =&gt; stop. USR2 =&gt; restart. INT =&gt; stop (no restart).&quot;</span>
31
+ 367: <span class="ruby-keyword kw">else</span>
32
+ 368: <span class="ruby-identifier">log</span> <span class="ruby-value str">&quot;Signals ready. INT =&gt; stop (no restart).&quot;</span>
33
+ 369: <span class="ruby-keyword kw">end</span>
34
+ 370: <span class="ruby-keyword kw">end</span></pre>
35
+ </body>
36
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>log (Mongrel::Configurator)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/configurator.rb, line 373</span>
14
+ 373: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log</span>(<span class="ruby-identifier">msg</span>)
15
+ 374: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;** &quot;</span>, <span class="ruby-identifier">msg</span>, <span class="ruby-value str">&quot;\n&quot;</span>
16
+ 375: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -153,18 +153,12 @@ SCRIPT_NAME.
153
153
  <tr class="top-aligned-row context-row">
154
154
  <td class="context-item-name">MONGREL_VERSION</td>
155
155
  <td>=</td>
156
- <td class="context-item-value">&quot;0.3.13.4&quot;.freeze</td>
156
+ <td class="context-item-value">&quot;1.0&quot;.freeze</td>
157
157
  </tr>
158
158
  <tr class="top-aligned-row context-row">
159
159
  <td class="context-item-name">MONGREL_TMP_BASE</td>
160
160
  <td>=</td>
161
161
  <td class="context-item-value">&quot;mongrel&quot;.freeze</td>
162
- <td width="3em">&nbsp;</td>
163
- <td class="context-item-desc">
164
- TODO: this use of a base for tempfiles needs to be looked at for security
165
- problems
166
-
167
- </td>
168
162
  </tr>
169
163
  <tr class="top-aligned-row context-row">
170
164
  <td class="context-item-name">ERROR_404_RESPONSE</td>
@@ -198,7 +192,7 @@ A common header for indicating the server is too busy. Not used yet.
198
192
  <td class="context-item-value">(16 * 1024)</td>
199
193
  <td width="3em">&nbsp;</td>
200
194
  <td class="context-item-desc">
201
- The basic max request size we&#8217;ll try to read.
195
+ The basic max request size we&#8216;ll try to read.
202
196
 
203
197
  </td>
204
198
  </tr>
@@ -209,7 +203,7 @@ The basic max request size we&#8217;ll try to read.
209
203
  <td width="3em">&nbsp;</td>
210
204
  <td class="context-item-desc">
211
205
  This is the maximum header that is allowed before a client is booted. The
212
- parser detects this, but we&#8217;d also like to do this as well.
206
+ parser detects this, but we&#8216;d also like to do this as well.
213
207
 
214
208
  </td>
215
209
  </tr>
@@ -315,6 +309,11 @@ win32)
315
309
  <td>=</td>
316
310
  <td class="context-item-value">&quot;HTTP/1.1 302 Found\r\nLocation: %s\r\nConnection: close\r\n\r\n&quot;.freeze</td>
317
311
  </tr>
312
+ <tr class="top-aligned-row context-row">
313
+ <td class="context-item-name">HOST</td>
314
+ <td>=</td>
315
+ <td class="context-item-value">&quot;HOST&quot;.freeze</td>
316
+ </tr>
318
317
  </table>
319
318
  </div>
320
319
  </div>
@@ -83,12 +83,12 @@
83
83
  <div id="description">
84
84
  <p>
85
85
  When added to a config script (-S in mongrel_rails) it will look at the
86
- client&#8217;s allowed response types and then gzip compress anything that
86
+ client&#8216;s allowed response types and then gzip compress anything that
87
87
  is going out.
88
88
  </p>
89
89
  <p>
90
90
  Valid option is :always_deflate =&gt; false which tells the handler to
91
- deflate everything even if the client can&#8217;t handle it.
91
+ deflate everything even if the client can&#8216;t handle it.
92
92
  </p>
93
93
 
94
94
  </div>
@@ -100,8 +100,8 @@ deflate everything even if the client can&#8217;t handle it.
100
100
  <h3 class="section-bar">Methods</h3>
101
101
 
102
102
  <div class="name-list">
103
- <a href="#M000121">new</a>&nbsp;&nbsp;
104
- <a href="#M000122">process</a>&nbsp;&nbsp;
103
+ <a href="#M000124">new</a>&nbsp;&nbsp;
104
+ <a href="#M000125">process</a>&nbsp;&nbsp;
105
105
  </div>
106
106
  </div>
107
107
 
@@ -109,6 +109,13 @@ deflate everything even if the client can&#8217;t handle it.
109
109
 
110
110
 
111
111
  <!-- if includes -->
112
+ <div id="includes">
113
+ <h3 class="section-bar">Included Modules</h3>
114
+
115
+ <div id="includes-list">
116
+ <span class="include-name">Zlib</span>
117
+ </div>
118
+ </div>
112
119
 
113
120
  <div id="section">
114
121
 
@@ -136,12 +143,12 @@ deflate everything even if the client can&#8217;t handle it.
136
143
  <div id="methods">
137
144
  <h3 class="section-bar">Public Class methods</h3>
138
145
 
139
- <div id="method-M000121" class="method-detail">
140
- <a name="M000121"></a>
146
+ <div id="method-M000124" class="method-detail">
147
+ <a name="M000124"></a>
141
148
 
142
149
  <div class="method-heading">
143
- <a href="DeflateFilter.src/M000121.html" target="Code" class="method-signature"
144
- onclick="popupCode('DeflateFilter.src/M000121.html');return false;">
150
+ <a href="DeflateFilter.src/M000124.html" target="Code" class="method-signature"
151
+ onclick="popupCode('DeflateFilter.src/M000124.html');return false;">
145
152
  <span class="method-name">new</span><span class="method-args">(ops={})</span>
146
153
  </a>
147
154
  </div>
@@ -152,12 +159,12 @@ deflate everything even if the client can&#8217;t handle it.
152
159
 
153
160
  <h3 class="section-bar">Public Instance methods</h3>
154
161
 
155
- <div id="method-M000122" class="method-detail">
156
- <a name="M000122"></a>
162
+ <div id="method-M000125" class="method-detail">
163
+ <a name="M000125"></a>
157
164
 
158
165
  <div class="method-heading">
159
- <a href="DeflateFilter.src/M000122.html" target="Code" class="method-signature"
160
- onclick="popupCode('DeflateFilter.src/M000122.html');return false;">
166
+ <a href="DeflateFilter.src/M000125.html" target="Code" class="method-signature"
167
+ onclick="popupCode('DeflateFilter.src/M000125.html');return false;">
161
168
  <span class="method-name">process</span><span class="method-args">(request, response)</span>
162
169
  </a>
163
170
  </div>
@@ -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/handlers.rb, line 287</span>
14
- 287: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ops</span>={})
15
- 288: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">ops</span>
16
- 289: <span class="ruby-ivar">@always_deflate</span> = <span class="ruby-identifier">ops</span>[<span class="ruby-identifier">:always_deflate</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
17
- 290: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/handlers.rb, line 279</span>
14
+ 279: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ops</span>={})
15
+ 280: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">ops</span>
16
+ 281: <span class="ruby-ivar">@always_deflate</span> = <span class="ruby-identifier">ops</span>[<span class="ruby-identifier">:always_deflate</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
17
+ 282: <span class="ruby-keyword kw">end</span></pre>
18
18
  </body>
19
19
  </html>
@@ -10,19 +10,14 @@
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/handlers.rb, line 292</span>
14
- 292: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">request</span>, <span class="ruby-identifier">response</span>)
15
- 293: <span class="ruby-identifier">accepts</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">params</span>[<span class="ruby-constant">HTTP_ACCEPT_ENCODING</span>]
16
- 294: <span class="ruby-comment cmt"># only process if they support compression</span>
17
- 295: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@always_deflate</span> <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">accepts</span> <span class="ruby-keyword kw">and</span> (<span class="ruby-identifier">accepts</span>.<span class="ruby-identifier">include?</span> <span class="ruby-value str">&quot;deflate&quot;</span> <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body_sent</span>))
18
- 296: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">header</span>[<span class="ruby-value str">&quot;Content-Encoding&quot;</span>] = <span class="ruby-value str">&quot;deflate&quot;</span>
19
- 297: <span class="ruby-comment cmt"># we can't just rewind the body and gzip it since the body could be an attached file</span>
20
- 298: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">rewind</span>
21
- 299: <span class="ruby-identifier">gzout</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Zlib</span><span class="ruby-operator">::</span><span class="ruby-constant">Deflate</span>.<span class="ruby-identifier">deflate</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">read</span>))
22
- 300: <span class="ruby-identifier">gzout</span>.<span class="ruby-identifier">rewind</span>
23
- 301: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">close</span>
24
- 302: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span> = <span class="ruby-identifier">gzout</span>
25
- 303: <span class="ruby-keyword kw">end</span>
26
- 304: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/handlers.rb, line 284</span>
14
+ 284: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">request</span>, <span class="ruby-identifier">response</span>)
15
+ 285: <span class="ruby-identifier">accepts</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">params</span>[<span class="ruby-constant">HTTP_ACCEPT_ENCODING</span>]
16
+ 286: <span class="ruby-comment cmt"># only process if they support compression</span>
17
+ 287: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@always_deflate</span> <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">accepts</span> <span class="ruby-keyword kw">and</span> (<span class="ruby-identifier">accepts</span>.<span class="ruby-identifier">include?</span> <span class="ruby-value str">&quot;deflate&quot;</span> <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body_sent</span>))
18
+ 288: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">header</span>[<span class="ruby-value str">&quot;Content-Encoding&quot;</span>] = <span class="ruby-value str">&quot;deflate&quot;</span>
19
+ 289: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span> = <span class="ruby-identifier">deflate</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
20
+ 290: <span class="ruby-keyword kw">end</span>
21
+ 291: <span class="ruby-keyword kw">end</span></pre>
27
22
  </body>
28
23
  </html>
@@ -88,9 +88,9 @@ PATH_INFO inside the directory. If the requested path is a directory then
88
88
  it returns a simple directory listing.
89
89
  </p>
90
90
  <p>
91
- It does a simple protection against going outside it&#8217;s root path by
91
+ It does a simple protection against going outside it&#8216;s root path by
92
92
  converting all paths to an absolute expanded path, and then making sure
93
- that the final expanded path includes the root path. If it doesn&#8217;t
93
+ that the final expanded path includes the root path. If it doesn&#8216;t
94
94
  than it simply gives a 404.
95
95
  </p>
96
96
  <p>
@@ -108,12 +108,12 @@ DirHandler.default_content_type attribute.
108
108
  <h3 class="section-bar">Methods</h3>
109
109
 
110
110
  <div class="name-list">
111
- <a href="#M000054">add_mime_type</a>&nbsp;&nbsp;
112
- <a href="#M000050">can_serve</a>&nbsp;&nbsp;
113
- <a href="#M000049">new</a>&nbsp;&nbsp;
114
- <a href="#M000053">process</a>&nbsp;&nbsp;
115
- <a href="#M000051">send_dir_listing</a>&nbsp;&nbsp;
116
- <a href="#M000052">send_file</a>&nbsp;&nbsp;
111
+ <a href="#M000056">add_mime_type</a>&nbsp;&nbsp;
112
+ <a href="#M000052">can_serve</a>&nbsp;&nbsp;
113
+ <a href="#M000051">new</a>&nbsp;&nbsp;
114
+ <a href="#M000055">process</a>&nbsp;&nbsp;
115
+ <a href="#M000053">send_dir_listing</a>&nbsp;&nbsp;
116
+ <a href="#M000054">send_file</a>&nbsp;&nbsp;
117
117
  </div>
118
118
  </div>
119
119
 
@@ -130,10 +130,15 @@ DirHandler.default_content_type attribute.
130
130
 
131
131
  <div class="name-list">
132
132
  <table summary="Constants">
133
+ <tr class="top-aligned-row context-row">
134
+ <td class="context-item-name">MIME_TYPES_FILE</td>
135
+ <td>=</td>
136
+ <td class="context-item-value">&quot;mime_types.yml&quot;</td>
137
+ </tr>
133
138
  <tr class="top-aligned-row context-row">
134
139
  <td class="context-item-name">MIME_TYPES</td>
135
140
  <td>=</td>
136
- <td class="context-item-value">{ &quot;.css&quot; =&gt; &quot;text/css&quot;, &quot;.gif&quot; =&gt; &quot;image/gif&quot;, &quot;.htm&quot; =&gt; &quot;text/html&quot;, &quot;.html&quot; =&gt; &quot;text/html&quot;, &quot;.jpeg&quot; =&gt; &quot;image/jpeg&quot;, &quot;.jpg&quot; =&gt; &quot;image/jpeg&quot;, &quot;.js&quot; =&gt; &quot;text/javascript&quot;, &quot;.png&quot; =&gt; &quot;image/png&quot;, &quot;.swf&quot; =&gt; &quot;application/x-shockwave-flash&quot;, &quot;.txt&quot; =&gt; &quot;text/plain&quot;</td>
141
+ <td class="context-item-value">YAML.load_file(File.join(File.dirname(__FILE__), MIME_TYPES_FILE))</td>
137
142
  </tr>
138
143
  <tr class="top-aligned-row context-row">
139
144
  <td class="context-item-name">ONLY_HEAD_GET</td>
@@ -153,12 +158,7 @@ DirHandler.default_content_type attribute.
153
158
  <table>
154
159
  <tr class="top-aligned-row context-row">
155
160
  <td class="context-item-name">default_content_type</td>
156
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
157
- <td class="context-item-desc"></td>
158
- </tr>
159
- <tr class="top-aligned-row context-row">
160
- <td class="context-item-name">default_content_type</td>
161
- <td class="context-item-value">&nbsp;[W]&nbsp;</td>
161
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
162
162
  <td class="context-item-desc"></td>
163
163
  </tr>
164
164
  <tr class="top-aligned-row context-row">
@@ -176,12 +176,12 @@ DirHandler.default_content_type attribute.
176
176
  <div id="methods">
177
177
  <h3 class="section-bar">Public Class methods</h3>
178
178
 
179
- <div id="method-M000054" class="method-detail">
180
- <a name="M000054"></a>
179
+ <div id="method-M000056" class="method-detail">
180
+ <a name="M000056"></a>
181
181
 
182
182
  <div class="method-heading">
183
- <a href="DirHandler.src/M000054.html" target="Code" class="method-signature"
184
- onclick="popupCode('DirHandler.src/M000054.html');return false;">
183
+ <a href="DirHandler.src/M000056.html" target="Code" class="method-signature"
184
+ onclick="popupCode('DirHandler.src/M000056.html');return false;">
185
185
  <span class="method-name">add_mime_type</span><span class="method-args">(extension, type)</span>
186
186
  </a>
187
187
  </div>
@@ -189,17 +189,17 @@ DirHandler.default_content_type attribute.
189
189
  <div class="method-description">
190
190
  <p>
191
191
  There is a small number of default mime types for extensions, but this lets
192
- you add any others you&#8217;ll need when serving content.
192
+ you add any others you&#8216;ll need when serving content.
193
193
  </p>
194
194
  </div>
195
195
  </div>
196
196
 
197
- <div id="method-M000049" class="method-detail">
198
- <a name="M000049"></a>
197
+ <div id="method-M000051" class="method-detail">
198
+ <a name="M000051"></a>
199
199
 
200
200
  <div class="method-heading">
201
- <a href="DirHandler.src/M000049.html" target="Code" class="method-signature"
202
- onclick="popupCode('DirHandler.src/M000049.html');return false;">
201
+ <a href="DirHandler.src/M000051.html" target="Code" class="method-signature"
202
+ onclick="popupCode('DirHandler.src/M000051.html');return false;">
203
203
  <span class="method-name">new</span><span class="method-args">(path, listing_allowed=true, index_html=&quot;index.html&quot;)</span>
204
204
  </a>
205
205
  </div>
@@ -213,12 +213,12 @@ You give it the path to the directory root and an (optional)
213
213
 
214
214
  <h3 class="section-bar">Public Instance methods</h3>
215
215
 
216
- <div id="method-M000050" class="method-detail">
217
- <a name="M000050"></a>
216
+ <div id="method-M000052" class="method-detail">
217
+ <a name="M000052"></a>
218
218
 
219
219
  <div class="method-heading">
220
- <a href="DirHandler.src/M000050.html" target="Code" class="method-signature"
221
- onclick="popupCode('DirHandler.src/M000050.html');return false;">
220
+ <a href="DirHandler.src/M000052.html" target="Code" class="method-signature"
221
+ onclick="popupCode('DirHandler.src/M000052.html');return false;">
222
222
  <span class="method-name">can_serve</span><span class="method-args">(path_info)</span>
223
223
  </a>
224
224
  </div>
@@ -231,12 +231,12 @@ not).
231
231
  </div>
232
232
  </div>
233
233
 
234
- <div id="method-M000053" class="method-detail">
235
- <a name="M000053"></a>
234
+ <div id="method-M000055" class="method-detail">
235
+ <a name="M000055"></a>
236
236
 
237
237
  <div class="method-heading">
238
- <a href="DirHandler.src/M000053.html" target="Code" class="method-signature"
239
- onclick="popupCode('DirHandler.src/M000053.html');return false;">
238
+ <a href="DirHandler.src/M000055.html" target="Code" class="method-signature"
239
+ onclick="popupCode('DirHandler.src/M000055.html');return false;">
240
240
  <span class="method-name">process</span><span class="method-args">(request, response)</span>
241
241
  </a>
242
242
  </div>
@@ -249,33 +249,33 @@ allowed (based on the listing_allowed parameter to the constructor).
249
249
  </div>
250
250
  </div>
251
251
 
252
- <div id="method-M000051" class="method-detail">
253
- <a name="M000051"></a>
252
+ <div id="method-M000053" class="method-detail">
253
+ <a name="M000053"></a>
254
254
 
255
255
  <div class="method-heading">
256
- <a href="DirHandler.src/M000051.html" target="Code" class="method-signature"
257
- onclick="popupCode('DirHandler.src/M000051.html');return false;">
256
+ <a href="DirHandler.src/M000053.html" target="Code" class="method-signature"
257
+ onclick="popupCode('DirHandler.src/M000053.html');return false;">
258
258
  <span class="method-name">send_dir_listing</span><span class="method-args">(base, dir, response)</span>
259
259
  </a>
260
260
  </div>
261
261
 
262
262
  <div class="method-description">
263
263
  <p>
264
- Returns a simplistic directory listing if they&#8217;re enabled, otherwise
264
+ Returns a simplistic directory listing if they&#8216;re enabled, otherwise
265
265
  a 403. Base is the base URI from the REQUEST_URI, dir is the directory to
266
266
  serve on the file system (comes from <a
267
- href="DirHandler.html#M000050">can_serve</a>()), and response is the <a
267
+ href="DirHandler.html#M000052">can_serve</a>()), and response is the <a
268
268
  href="HttpResponse.html">HttpResponse</a> object to send the results on.
269
269
  </p>
270
270
  </div>
271
271
  </div>
272
272
 
273
- <div id="method-M000052" class="method-detail">
274
- <a name="M000052"></a>
273
+ <div id="method-M000054" class="method-detail">
274
+ <a name="M000054"></a>
275
275
 
276
276
  <div class="method-heading">
277
- <a href="DirHandler.src/M000052.html" target="Code" class="method-signature"
278
- onclick="popupCode('DirHandler.src/M000052.html');return false;">
277
+ <a href="DirHandler.src/M000054.html" target="Code" class="method-signature"
278
+ onclick="popupCode('DirHandler.src/M000054.html');return false;">
279
279
  <span class="method-name">send_file</span><span class="method-args">(req_path, request, response, header_only=false)</span>
280
280
  </a>
281
281
  </div>
@@ -283,7 +283,7 @@ href="HttpResponse.html">HttpResponse</a> object to send the results on.
283
283
  <div class="method-description">
284
284
  <p>
285
285
  Sends the contents of a file back to the user. Not terribly efficient since
286
- it&#8217;s opening and closing the file for each read.
286
+ it&#8216;s opening and closing the file for each read.
287
287
  </p>
288
288
  </div>
289
289
  </div>