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,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_s (Mongrel::Stats)</title>
8
+ <title>reset (Mongrel::Stats)</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/stats.rb, line 53</span>
14
- 53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
- 54: <span class="ruby-node">&quot;[#{@name}]: SUM=%0.4f, SUMSQ=%0.4f, N=%0.4f, MEAN=%0.4f, SD=%0.4f, MIN=%0.4f, MAX=%0.4f&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-ivar">@sum</span>, <span class="ruby-ivar">@sumsq</span>, <span class="ruby-ivar">@n</span>, <span class="ruby-identifier">mean</span>, <span class="ruby-identifier">sd</span>, <span class="ruby-ivar">@min</span>, <span class="ruby-ivar">@max</span>]
16
- 55: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 25</span>
14
+ 25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
15
+ 26: <span class="ruby-ivar">@sum</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
16
+ 27: <span class="ruby-ivar">@sumsq</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
17
+ 28: <span class="ruby-ivar">@last_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
18
+ 29: <span class="ruby-ivar">@n</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
19
+ 30: <span class="ruby-ivar">@min</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
20
+ 31: <span class="ruby-ivar">@max</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
21
+ 32: <span class="ruby-keyword kw">end</span></pre>
17
22
  </body>
18
23
  </html>
@@ -5,14 +5,22 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>mean (Mongrel::Stats)</title>
8
+ <title>sample (Mongrel::Stats)</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/stats.rb, line 59</span>
14
- 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mean</span>
15
- 60: <span class="ruby-ivar">@sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@n</span>
16
- 61: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 35</span>
14
+ 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">s</span>)
15
+ 36: <span class="ruby-ivar">@sum</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">s</span>
16
+ 37: <span class="ruby-ivar">@sumsq</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">s</span>
17
+ 38: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@n</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
18
+ 39: <span class="ruby-ivar">@min</span> = <span class="ruby-ivar">@max</span> = <span class="ruby-identifier">s</span>
19
+ 40: <span class="ruby-keyword kw">else</span>
20
+ 41: <span class="ruby-ivar">@min</span> = <span class="ruby-identifier">s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@min</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">s</span>
21
+ 42: <span class="ruby-ivar">@max</span> = <span class="ruby-identifier">s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@max</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">s</span>
22
+ 43: <span class="ruby-keyword kw">end</span>
23
+ 44: <span class="ruby-ivar">@n</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>
24
+ 45: <span class="ruby-keyword kw">end</span></pre>
17
25
  </body>
18
26
  </html>
@@ -5,19 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>sd (Mongrel::Stats)</title>
8
+ <title>dump (Mongrel::Stats)</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/stats.rb, line 64</span>
14
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sd</span>
15
- 65: <span class="ruby-comment cmt"># (sqrt( ((s).sumsq - ( (s).sum * (s).sum / (s).n)) / ((s).n-1) ))</span>
16
- 66: <span class="ruby-keyword kw">begin</span>
17
- 67: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">sqrt</span>( (<span class="ruby-ivar">@sumsq</span> <span class="ruby-operator">-</span> ( <span class="ruby-ivar">@sum</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@n</span>)) <span class="ruby-operator">/</span> (<span class="ruby-ivar">@n</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) )
18
- 68: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EDOM</span>
19
- 69: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>
20
- 70: <span class="ruby-keyword kw">end</span>
21
- 71: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 48</span>
14
+ 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump</span>(<span class="ruby-identifier">msg</span> = <span class="ruby-value str">&quot;&quot;</span>, <span class="ruby-identifier">out</span>=<span class="ruby-constant">STDERR</span>)
15
+ 49: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{msg}: #{self.to_s}&quot;</span>
16
+ 50: <span class="ruby-keyword kw">end</span></pre>
22
17
  </body>
23
18
  </html>
@@ -5,16 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>tick (Mongrel::Stats)</title>
8
+ <title>to_s (Mongrel::Stats)</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/stats.rb, line 83</span>
14
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tick</span>
15
- 84: <span class="ruby-identifier">now</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
16
- 85: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@last_time</span>)
17
- 86: <span class="ruby-ivar">@last_time</span> = <span class="ruby-identifier">now</span>
18
- 87: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 53</span>
14
+ 53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
+ 54: <span class="ruby-node">&quot;[#{@name}]: SUM=%0.4f, SUMSQ=%0.4f, N=%0.4f, MEAN=%0.4f, SD=%0.4f, MIN=%0.4f, MAX=%0.4f&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-ivar">@sum</span>, <span class="ruby-ivar">@sumsq</span>, <span class="ruby-ivar">@n</span>, <span class="ruby-identifier">mean</span>, <span class="ruby-identifier">sd</span>, <span class="ruby-ivar">@min</span>, <span class="ruby-ivar">@max</span>]
16
+ 55: <span class="ruby-keyword kw">end</span></pre>
19
17
  </body>
20
18
  </html>
@@ -5,15 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>new (Mongrel::Stats)</title>
8
+ <title>mean (Mongrel::Stats)</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/stats.rb, line 19</span>
14
- 19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>)
15
- 20: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
16
- 21: <span class="ruby-identifier">reset</span>
17
- 22: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 59</span>
14
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mean</span>
15
+ 60: <span class="ruby-ivar">@sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@n</span>
16
+ 61: <span class="ruby-keyword kw">end</span></pre>
18
17
  </body>
19
18
  </html>
@@ -0,0 +1,23 @@
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>sd (Mongrel::Stats)</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/stats.rb, line 64</span>
14
+ 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sd</span>
15
+ 65: <span class="ruby-comment cmt"># (sqrt( ((s).sumsq - ( (s).sum * (s).sum / (s).n)) / ((s).n-1) ))</span>
16
+ 66: <span class="ruby-keyword kw">begin</span>
17
+ 67: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">sqrt</span>( (<span class="ruby-ivar">@sumsq</span> <span class="ruby-operator">-</span> ( <span class="ruby-ivar">@sum</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@n</span>)) <span class="ruby-operator">/</span> (<span class="ruby-ivar">@n</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) )
18
+ 68: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EDOM</span>
19
+ 69: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>
20
+ 70: <span class="ruby-keyword kw">end</span>
21
+ 71: <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,20 @@
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>tick (Mongrel::Stats)</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/stats.rb, line 83</span>
14
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tick</span>
15
+ 84: <span class="ruby-identifier">now</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
16
+ 85: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@last_time</span>)
17
+ 86: <span class="ruby-ivar">@last_time</span> = <span class="ruby-identifier">now</span>
18
+ 87: <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -83,7 +83,7 @@
83
83
  <div id="description">
84
84
  <p>
85
85
  The :stats_filter is basically any configured stats filter that
86
- you&#8217;ve added to this same URI. This lets the status handler print out
86
+ you&#8216;ve added to this same URI. This lets the status handler print out
87
87
  statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
88
88
  </p>
89
89
 
@@ -96,10 +96,10 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
96
96
  <h3 class="section-bar">Methods</h3>
97
97
 
98
98
  <div class="name-list">
99
- <a href="#M000068">describe_listener</a>&nbsp;&nbsp;
100
- <a href="#M000066">new</a>&nbsp;&nbsp;
101
- <a href="#M000069">process</a>&nbsp;&nbsp;
102
- <a href="#M000067">table</a>&nbsp;&nbsp;
99
+ <a href="#M000070">describe_listener</a>&nbsp;&nbsp;
100
+ <a href="#M000068">new</a>&nbsp;&nbsp;
101
+ <a href="#M000071">process</a>&nbsp;&nbsp;
102
+ <a href="#M000069">table</a>&nbsp;&nbsp;
103
103
  </div>
104
104
  </div>
105
105
 
@@ -121,12 +121,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
121
121
  <div id="methods">
122
122
  <h3 class="section-bar">Public Class methods</h3>
123
123
 
124
- <div id="method-M000066" class="method-detail">
125
- <a name="M000066"></a>
124
+ <div id="method-M000068" class="method-detail">
125
+ <a name="M000068"></a>
126
126
 
127
127
  <div class="method-heading">
128
- <a href="StatusHandler.src/M000066.html" target="Code" class="method-signature"
129
- onclick="popupCode('StatusHandler.src/M000066.html');return false;">
128
+ <a href="StatusHandler.src/M000068.html" target="Code" class="method-signature"
129
+ onclick="popupCode('StatusHandler.src/M000068.html');return false;">
130
130
  <span class="method-name">new</span><span class="method-args">(ops={})</span>
131
131
  </a>
132
132
  </div>
@@ -137,12 +137,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
137
137
 
138
138
  <h3 class="section-bar">Public Instance methods</h3>
139
139
 
140
- <div id="method-M000068" class="method-detail">
141
- <a name="M000068"></a>
140
+ <div id="method-M000070" class="method-detail">
141
+ <a name="M000070"></a>
142
142
 
143
143
  <div class="method-heading">
144
- <a href="StatusHandler.src/M000068.html" target="Code" class="method-signature"
145
- onclick="popupCode('StatusHandler.src/M000068.html');return false;">
144
+ <a href="StatusHandler.src/M000070.html" target="Code" class="method-signature"
145
+ onclick="popupCode('StatusHandler.src/M000070.html');return false;">
146
146
  <span class="method-name">describe_listener</span><span class="method-args">()</span>
147
147
  </a>
148
148
  </div>
@@ -151,12 +151,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
151
151
  </div>
152
152
  </div>
153
153
 
154
- <div id="method-M000069" class="method-detail">
155
- <a name="M000069"></a>
154
+ <div id="method-M000071" class="method-detail">
155
+ <a name="M000071"></a>
156
156
 
157
157
  <div class="method-heading">
158
- <a href="StatusHandler.src/M000069.html" target="Code" class="method-signature"
159
- onclick="popupCode('StatusHandler.src/M000069.html');return false;">
158
+ <a href="StatusHandler.src/M000071.html" target="Code" class="method-signature"
159
+ onclick="popupCode('StatusHandler.src/M000071.html');return false;">
160
160
  <span class="method-name">process</span><span class="method-args">(request, response)</span>
161
161
  </a>
162
162
  </div>
@@ -165,12 +165,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
165
165
  </div>
166
166
  </div>
167
167
 
168
- <div id="method-M000067" class="method-detail">
169
- <a name="M000067"></a>
168
+ <div id="method-M000069" class="method-detail">
169
+ <a name="M000069"></a>
170
170
 
171
171
  <div class="method-heading">
172
- <a href="StatusHandler.src/M000067.html" target="Code" class="method-signature"
173
- onclick="popupCode('StatusHandler.src/M000067.html');return false;">
172
+ <a href="StatusHandler.src/M000069.html" target="Code" class="method-signature"
173
+ onclick="popupCode('StatusHandler.src/M000069.html');return false;">
174
174
  <span class="method-name">table</span><span class="method-args">(title, rows)</span>
175
175
  </a>
176
176
  </div>
@@ -5,38 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>describe_listener (Mongrel::StatusHandler)</title>
8
+ <title>new (Mongrel::StatusHandler)</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/handlers.rb, line 368</span>
14
- 368: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">describe_listener</span>
15
- 369: <span class="ruby-identifier">results</span> = <span class="ruby-value str">&quot;&quot;</span>
16
- 370: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;&lt;h1&gt;Listener #{listener.host}:#{listener.port}&lt;/h1&gt;&quot;</span>
17
- 371: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">&quot;settings&quot;</span>, [
18
- 372: [<span class="ruby-value str">&quot;host&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">host</span>],
19
- 373: [<span class="ruby-value str">&quot;port&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">port</span>],
20
- 374: [<span class="ruby-value str">&quot;timeout&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">timeout</span>],
21
- 375: [<span class="ruby-value str">&quot;workers max&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">num_processors</span>],
22
- 376: ])
23
- 377:
24
- 378: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stats</span>
25
- 379: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&lt;h2&gt;Statistics&lt;/h2&gt;&lt;p&gt;N means the number of samples, pay attention to MEAN, SD, MIN and MAX.&quot;</span>
26
- 380: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;&lt;pre&gt;#{@stats.dump}&lt;/pre&gt;&quot;</span>
27
- 381: <span class="ruby-keyword kw">end</span>
28
- 382:
29
- 383: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&lt;h2&gt;Registered Handlers&lt;/h2&gt;&quot;</span>
30
- 384: <span class="ruby-identifier">uris</span> = <span class="ruby-identifier">listener</span>.<span class="ruby-identifier">classifier</span>.<span class="ruby-identifier">handler_map</span>
31
- 385: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">&quot;handlers&quot;</span>, <span class="ruby-identifier">uris</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>,<span class="ruby-identifier">handlers</span><span class="ruby-operator">|</span>
32
- 386: [<span class="ruby-identifier">uri</span>,
33
- 387: <span class="ruby-value str">&quot;&lt;pre&gt;&quot;</span> <span class="ruby-operator">+</span>
34
- 388: <span class="ruby-identifier">handlers</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-operator">+</span>
35
- 389: <span class="ruby-value str">&quot;&lt;/pre&gt;&quot;</span>
36
- 390: ]
37
- 391: })
38
- 392:
39
- 393: <span class="ruby-identifier">results</span>
40
- 394: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/handlers.rb, line 357</span>
14
+ 357: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ops</span>={})
15
+ 358: <span class="ruby-ivar">@stats</span> = <span class="ruby-identifier">ops</span>[<span class="ruby-identifier">:stats_filter</span>]
16
+ 359: <span class="ruby-keyword kw">end</span></pre>
41
17
  </body>
42
18
  </html>
@@ -5,16 +5,20 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>process (Mongrel::StatusHandler)</title>
8
+ <title>table (Mongrel::StatusHandler)</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/handlers.rb, line 396</span>
14
- 396: <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
- 397: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">head</span>,<span class="ruby-identifier">out</span><span class="ruby-operator">|</span>
16
- 398: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot;&lt;html&gt;&lt;body&gt;&lt;title&gt;Mongrel Server Status&lt;/title&gt;\n\#{describe_listener}\n&lt;/body&gt;&lt;/html&gt;\n&quot;</span>
17
- 399: <span class="ruby-keyword kw">end</span>
18
- 400: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/handlers.rb, line 361</span>
14
+ 361: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">table</span>(<span class="ruby-identifier">title</span>, <span class="ruby-identifier">rows</span>)
15
+ 362: <span class="ruby-identifier">results</span> = <span class="ruby-node">&quot;&lt;table border=\&quot;1\&quot;&gt;&lt;tr&gt;&lt;th colspan=\&quot;#{rows[0].length}\&quot;&gt;#{title}&lt;/th&gt;&lt;/tr&gt;&quot;</span>
16
+ 363: <span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cols</span><span class="ruby-operator">|</span>
17
+ 364: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&lt;tr&gt;&quot;</span>
18
+ 365: <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;&lt;td&gt;#{col}&lt;/td&gt;&quot;</span> }
19
+ 366: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&lt;/tr&gt;&quot;</span>
20
+ 367: <span class="ruby-keyword kw">end</span>
21
+ 368: <span class="ruby-identifier">results</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;&lt;/table&gt;&quot;</span>
22
+ 369: <span class="ruby-keyword kw">end</span></pre>
19
23
  </body>
20
24
  </html>
@@ -0,0 +1,42 @@
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>describe_listener (Mongrel::StatusHandler)</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/handlers.rb, line 371</span>
14
+ 371: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">describe_listener</span>
15
+ 372: <span class="ruby-identifier">results</span> = <span class="ruby-value str">&quot;&quot;</span>
16
+ 373: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;&lt;h1&gt;Listener #{listener.host}:#{listener.port}&lt;/h1&gt;&quot;</span>
17
+ 374: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">&quot;settings&quot;</span>, [
18
+ 375: [<span class="ruby-value str">&quot;host&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">host</span>],
19
+ 376: [<span class="ruby-value str">&quot;port&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">port</span>],
20
+ 377: [<span class="ruby-value str">&quot;timeout&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">timeout</span>],
21
+ 378: [<span class="ruby-value str">&quot;workers max&quot;</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">num_processors</span>],
22
+ 379: ])
23
+ 380:
24
+ 381: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stats</span>
25
+ 382: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&lt;h2&gt;Statistics&lt;/h2&gt;&lt;p&gt;N means the number of samples, pay attention to MEAN, SD, MIN and MAX.&quot;</span>
26
+ 383: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;&lt;pre&gt;#{@stats.dump}&lt;/pre&gt;&quot;</span>
27
+ 384: <span class="ruby-keyword kw">end</span>
28
+ 385:
29
+ 386: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&lt;h2&gt;Registered Handlers&lt;/h2&gt;&quot;</span>
30
+ 387: <span class="ruby-identifier">uris</span> = <span class="ruby-identifier">listener</span>.<span class="ruby-identifier">classifier</span>.<span class="ruby-identifier">handler_map</span>
31
+ 388: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">&quot;handlers&quot;</span>, <span class="ruby-identifier">uris</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>,<span class="ruby-identifier">handlers</span><span class="ruby-operator">|</span>
32
+ 389: [<span class="ruby-identifier">uri</span>,
33
+ 390: <span class="ruby-value str">&quot;&lt;pre&gt;&quot;</span> <span class="ruby-operator">+</span>
34
+ 391: <span class="ruby-identifier">handlers</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-operator">+</span>
35
+ 392: <span class="ruby-value str">&quot;&lt;/pre&gt;&quot;</span>
36
+ 393: ]
37
+ 394: })
38
+ 395:
39
+ 396: <span class="ruby-identifier">results</span>
40
+ 397: <span class="ruby-keyword kw">end</span></pre>
41
+ </body>
42
+ </html>
@@ -0,0 +1,20 @@
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>process (Mongrel::StatusHandler)</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/handlers.rb, line 399</span>
14
+ 399: <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
+ 400: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">head</span>,<span class="ruby-identifier">out</span><span class="ruby-operator">|</span>
16
+ 401: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot;&lt;html&gt;&lt;body&gt;&lt;title&gt;Mongrel Server Status&lt;/title&gt;\n\#{describe_listener}\n&lt;/body&gt;&lt;/html&gt;\n&quot;</span>
17
+ 402: <span class="ruby-keyword kw">end</span>
18
+ 403: <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -90,12 +90,12 @@
90
90
  <h3 class="section-bar">Methods</h3>
91
91
 
92
92
  <div class="name-list">
93
- <a href="#M000086">inspect</a>&nbsp;&nbsp;
94
- <a href="#M000087">new</a>&nbsp;&nbsp;
95
- <a href="#M000088">register</a>&nbsp;&nbsp;
96
- <a href="#M000090">resolve</a>&nbsp;&nbsp;
97
- <a href="#M000089">unregister</a>&nbsp;&nbsp;
98
- <a href="#M000085">uris</a>&nbsp;&nbsp;
93
+ <a href="#M000088">inspect</a>&nbsp;&nbsp;
94
+ <a href="#M000089">new</a>&nbsp;&nbsp;
95
+ <a href="#M000090">register</a>&nbsp;&nbsp;
96
+ <a href="#M000092">resolve</a>&nbsp;&nbsp;
97
+ <a href="#M000091">unregister</a>&nbsp;&nbsp;
98
+ <a href="#M000087">uris</a>&nbsp;&nbsp;
99
99
  </div>
100
100
  </div>
101
101
 
@@ -130,12 +130,12 @@
130
130
  <div id="methods">
131
131
  <h3 class="section-bar">Public Class methods</h3>
132
132
 
133
- <div id="method-M000087" class="method-detail">
134
- <a name="M000087"></a>
133
+ <div id="method-M000089" class="method-detail">
134
+ <a name="M000089"></a>
135
135
 
136
136
  <div class="method-heading">
137
- <a href="URIClassifier.src/M000087.html" target="Code" class="method-signature"
138
- onclick="popupCode('URIClassifier.src/M000087.html');return false;">
137
+ <a href="URIClassifier.src/M000089.html" target="Code" class="method-signature"
138
+ onclick="popupCode('URIClassifier.src/M000089.html');return false;">
139
139
  <span class="method-name">URIClassifier.new &rarr; URIClassifier<br />
140
140
  </span>
141
141
  </a>
@@ -143,10 +143,10 @@
143
143
 
144
144
  <div class="method-description">
145
145
  <p>
146
- Initializes a new <a href="URIClassifier.html">URIClassifier</a> object
147
- that you can use to associate URI sequences with objects. You can actually
148
- use it with any string sequence and any objects, but it&#8217;s mostly used
149
- with URIs.
146
+ Initializes a <a href="URIClassifier.html#M000089">new</a> <a
147
+ href="URIClassifier.html">URIClassifier</a> object that you can use to
148
+ associate URI sequences with objects. You can actually use it with any
149
+ string sequence and any objects, but it&#8216;s mostly used with URIs.
150
150
  </p>
151
151
  <p>
152
152
  It uses TST from <a
@@ -162,29 +162,30 @@ portion.
162
162
 
163
163
  <h3 class="section-bar">Public Instance methods</h3>
164
164
 
165
- <div id="method-M000086" class="method-detail">
166
- <a name="M000086"></a>
165
+ <div id="method-M000088" class="method-detail">
166
+ <a name="M000088"></a>
167
167
 
168
168
  <div class="method-heading">
169
- <a href="URIClassifier.src/M000086.html" target="Code" class="method-signature"
170
- onclick="popupCode('URIClassifier.src/M000086.html');return false;">
169
+ <a href="URIClassifier.src/M000088.html" target="Code" class="method-signature"
170
+ onclick="popupCode('URIClassifier.src/M000088.html');return false;">
171
171
  <span class="method-name">inspect</span><span class="method-args">()</span>
172
172
  </a>
173
173
  </div>
174
174
 
175
175
  <div class="method-description">
176
176
  <p>
177
- Simply does an inspect that looks like a Hash inspect.
177
+ Simply does an <a href="URIClassifier.html#M000088">inspect</a> that looks
178
+ like a Hash <a href="URIClassifier.html#M000088">inspect</a>.
178
179
  </p>
179
180
  </div>
180
181
  </div>
181
182
 
182
- <div id="method-M000088" class="method-detail">
183
- <a name="M000088"></a>
183
+ <div id="method-M000090" class="method-detail">
184
+ <a name="M000090"></a>
184
185
 
185
186
  <div class="method-heading">
186
- <a href="URIClassifier.src/M000088.html" target="Code" class="method-signature"
187
- onclick="popupCode('URIClassifier.src/M000088.html');return false;">
187
+ <a href="URIClassifier.src/M000090.html" target="Code" class="method-signature"
188
+ onclick="popupCode('URIClassifier.src/M000090.html');return false;">
188
189
  <span class="method-name">uc.register("/someuri", SampleHandler.new) &rarr; nil<br />
189
190
  </span>
190
191
  </a>
@@ -194,27 +195,28 @@ Simply does an inspect that looks like a Hash inspect.
194
195
  <p>
195
196
  Registers the SampleHandler (one for all requests) with the
196
197
  &quot;/someuri&quot;. When URIClassifier::resolve is called with
197
- &quot;/someuri&quot; it&#8217;ll return SampleHandler immediately. When
198
- called with &quot;/someuri/iwant&quot; it&#8217;ll also return SomeHandler
198
+ &quot;/someuri&quot; it&#8216;ll return SampleHandler immediately. When
199
+ called with &quot;/someuri/iwant&quot; it&#8216;ll also return SomeHandler
199
200
  immediatly, with no additional searches, but it will return path info with
200
201
  &quot;/iwant&quot;.
201
202
  </p>
202
203
  <p>
203
- You actually can reuse this class to register nearly anything and quickly
204
- resolve it. This could be used for caching, fast mapping, etc. The downside
205
- is it uses much more memory than a Hash, but it can be a lot faster.
206
- It&#8217;s main advantage is that it works on prefixes, which is damn hard
207
- to get right with a Hash.
204
+ You actually can reuse this class to <a
205
+ href="URIClassifier.html#M000090">register</a> nearly anything and quickly
206
+ <a href="URIClassifier.html#M000092">resolve</a> it. This could be used for
207
+ caching, fast mapping, etc. The downside is it uses much more memory than a
208
+ Hash, but it can be a lot faster. It&#8216;s main advantage is that it
209
+ works on prefixes, which is damn hard to get right with a Hash.
208
210
  </p>
209
211
  </div>
210
212
  </div>
211
213
 
212
- <div id="method-M000090" class="method-detail">
213
- <a name="M000090"></a>
214
+ <div id="method-M000092" class="method-detail">
215
+ <a name="M000092"></a>
214
216
 
215
217
  <div class="method-heading">
216
- <a href="URIClassifier.src/M000090.html" target="Code" class="method-signature"
217
- onclick="popupCode('URIClassifier.src/M000090.html');return false;">
218
+ <a href="URIClassifier.src/M000092.html" target="Code" class="method-signature"
219
+ onclick="popupCode('URIClassifier.src/M000092.html');return false;">
218
220
  <span class="method-name">uc.resolve("/someuri") &rarr; "/someuri", "", handler<br />
219
221
  uc.resolve("/someuri/pathinfo") &rarr; "/someuri", "/pathinfo", handler<br />
220
222
  uc.resolve("/notfound/orhere") &rarr; nil, nil, nil<br />
@@ -226,16 +228,17 @@ uc.resolve("/path/from/root") &rarr; "/", "/path/from/root", handler # if uc.re
226
228
 
227
229
  <div class="method-description">
228
230
  <p>
229
- Attempts to resolve either the whole URI or at the longest prefix,
230
- returning the prefix (as script_info), path (as path_info), and registered
231
- handler (usually an <a href="HttpHandler.html">HttpHandler</a>). If it
232
- doesn&#8217;t find a handler registered at the longest match then it
233
- returns nil,nil,nil.
231
+ Attempts to <a href="URIClassifier.html#M000092">resolve</a> either the
232
+ whole URI or at the longest prefix, returning the prefix (as script_info),
233
+ path (as path_info), and registered handler (usually an <a
234
+ href="HttpHandler.html">HttpHandler</a>). If it doesn&#8216;t find a
235
+ handler registered at the longest match then it returns nil,nil,nil.
234
236
  </p>
235
237
  <p>
236
- Because the resolver uses a trie you are able to register a handler at
237
- <b>any</b> character in the URI and it will be handled as long as
238
- it&#8217;s the longest prefix. So, if you registered handler 1 at
238
+ Because the resolver uses a trie you are able to <a
239
+ href="URIClassifier.html#M000090">register</a> a handler at <b>any</b>
240
+ character in the URI and it will be handled as long as it&#8216;s the
241
+ longest prefix. So, if you registered handler 1 at
239
242
  &quot;/something/lik&quot;, and 2 at &quot;/something/like/that&quot;, then
240
243
  a a search for &quot;/something/like&quot; would give you 1. A search for
241
244
  &quot;/something/like/that/too&quot; would give you 2.
@@ -243,13 +246,13 @@ a a search for &quot;/something/like&quot; would give you 1. A search for
243
246
  <p>
244
247
  This is very powerful since it means you can also attach handlers to parts
245
248
  of the ; (semi-colon) separated path params, any part of the path, use off
246
- chars, anything really. It also means that it&#8217;s very efficient to do
249
+ chars, anything really. It also means that it&#8216;s very efficient to do
247
250
  this only taking as long as the URI has characters.
248
251
  </p>
249
252
  <p>
250
253
  A slight modification to the CGI 1.2 standard is given for handlers
251
254
  registered to &quot;/&quot;. CGI expects all CGI scripts to be at some
252
- script path, so it doesn&#8217;t really say anything about a script that
255
+ script path, so it doesn&#8216;t really say anything about a script that
253
256
  handles the root. To make this work, the resolver will detect that the
254
257
  requested handler is at &quot;/&quot;, and return that for script_name, and
255
258
  then simply return the full URI back as path_info.
@@ -261,12 +264,12 @@ Don&#8216;t try other string-like stuff yet.
261
264
  </div>
262
265
  </div>
263
266
 
264
- <div id="method-M000089" class="method-detail">
265
- <a name="M000089"></a>
267
+ <div id="method-M000091" class="method-detail">
268
+ <a name="M000091"></a>
266
269
 
267
270
  <div class="method-heading">
268
- <a href="URIClassifier.src/M000089.html" target="Code" class="method-signature"
269
- onclick="popupCode('URIClassifier.src/M000089.html');return false;">
271
+ <a href="URIClassifier.src/M000091.html" target="Code" class="method-signature"
272
+ onclick="popupCode('URIClassifier.src/M000091.html');return false;">
270
273
  <span class="method-name">uc.unregister("/someuri")<br />
271
274
  </span>
272
275
  </a>
@@ -274,17 +277,17 @@ Don&#8216;t try other string-like stuff yet.
274
277
 
275
278
  <div class="method-description">
276
279
  <p>
277
- Yep, just removes this uri and it&#8217;s handler from the trie.
280
+ Yep, just removes this uri and it&#8216;s handler from the trie.
278
281
  </p>
279
282
  </div>
280
283
  </div>
281
284
 
282
- <div id="method-M000085" class="method-detail">
283
- <a name="M000085"></a>
285
+ <div id="method-M000087" class="method-detail">
286
+ <a name="M000087"></a>
284
287
 
285
288
  <div class="method-heading">
286
- <a href="URIClassifier.src/M000085.html" target="Code" class="method-signature"
287
- onclick="popupCode('URIClassifier.src/M000085.html');return false;">
289
+ <a href="URIClassifier.src/M000087.html" target="Code" class="method-signature"
290
+ onclick="popupCode('URIClassifier.src/M000087.html');return false;">
288
291
  <span class="method-name">uris</span><span class="method-args">()</span>
289
292
  </a>
290
293
  </div>
@@ -293,8 +296,8 @@ Yep, just removes this uri and it&#8217;s handler from the trie.
293
296
  <p>
294
297
  Returns the URIs that have been registered with this classifier so far. The
295
298
  URIs returned should not be modified as this will cause a memory leak. You
296
- can use this to inspect the contents of the <a
297
- href="URIClassifier.html">URIClassifier</a>.
299
+ can use this to <a href="URIClassifier.html#M000088">inspect</a> the
300
+ contents of the <a href="URIClassifier.html">URIClassifier</a>.
298
301
  </p>
299
302
  </div>
300
303
  </div>