mongrel 0.3.13.3 → 0.3.13.4

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 (258) hide show
  1. data/Rakefile +5 -4
  2. data/bin/mongrel_rails +162 -169
  3. data/doc/rdoc/classes/IO.src/M000001.html +5 -5
  4. data/doc/rdoc/classes/IO.src/M000002.html +5 -5
  5. data/doc/rdoc/classes/Kernel.html +10 -10
  6. data/doc/rdoc/classes/Kernel.src/M000010.html +19 -0
  7. data/doc/rdoc/classes/Kernel.src/M000011.html +23 -0
  8. data/doc/rdoc/classes/Mongrel.html +27 -10
  9. data/doc/rdoc/classes/Mongrel/CGIWrapper.html +67 -54
  10. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000101.html → M000112.html} +11 -10
  11. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000102.html → M000113.html} +31 -31
  12. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000103.html → M000114.html} +20 -20
  13. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html +32 -0
  14. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000105.html → M000116.html} +11 -11
  15. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000106.html → M000117.html} +4 -4
  16. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000107.html → M000118.html} +4 -4
  17. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000108.html → M000119.html} +4 -4
  18. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000109.html → M000120.html} +5 -5
  19. data/doc/rdoc/classes/Mongrel/Camping.html +5 -5
  20. data/doc/rdoc/classes/Mongrel/Camping.src/{M000048.html → M000039.html} +0 -0
  21. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +10 -10
  22. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/{M000049.html → M000040.html} +0 -0
  23. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/{M000050.html → M000041.html} +0 -0
  24. data/doc/rdoc/classes/Mongrel/Command/Base.html +65 -65
  25. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000016.html +24 -0
  26. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000017.html +42 -0
  27. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html +18 -0
  28. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000029.html → M000019.html} +0 -0
  29. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000030.html → M000020.html} +0 -0
  30. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000031.html → M000021.html} +0 -0
  31. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000032.html → M000022.html} +0 -0
  32. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000033.html → M000023.html} +0 -0
  33. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000034.html → M000024.html} +0 -0
  34. data/doc/rdoc/classes/Mongrel/Command/Base.src/{M000035.html → M000025.html} +0 -0
  35. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +11 -11
  36. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +11 -29
  37. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +5 -5
  38. data/doc/rdoc/classes/Mongrel/Command/Registry.html +15 -15
  39. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000039.html → M000029.html} +0 -0
  40. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000040.html → M000030.html} +10 -6
  41. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html +58 -0
  42. data/doc/rdoc/classes/Mongrel/Configurator.html +115 -115
  43. data/doc/rdoc/classes/Mongrel/Configurator.src/M000091.html +27 -0
  44. data/doc/rdoc/classes/Mongrel/Configurator.src/M000092.html +31 -0
  45. data/doc/rdoc/classes/Mongrel/Configurator.src/M000093.html +21 -0
  46. data/doc/rdoc/classes/Mongrel/Configurator.src/M000094.html +20 -0
  47. data/doc/rdoc/classes/Mongrel/Configurator.src/M000095.html +23 -0
  48. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000115.html → M000096.html} +4 -4
  49. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000116.html → M000097.html} +24 -24
  50. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000117.html → M000098.html} +5 -5
  51. data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +39 -0
  52. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000119.html → M000100.html} +19 -19
  53. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000120.html → M000101.html} +4 -4
  54. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000121.html → M000102.html} +10 -10
  55. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000122.html → M000103.html} +5 -5
  56. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000123.html → M000104.html} +4 -4
  57. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000124.html → M000105.html} +8 -8
  58. data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +22 -0
  59. data/doc/rdoc/classes/Mongrel/Configurator.src/{M000126.html → M000107.html} +4 -4
  60. data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +34 -0
  61. data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +18 -0
  62. data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +23 -14
  63. data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +5 -18
  64. data/doc/rdoc/classes/Mongrel/Const.html +11 -6
  65. data/doc/rdoc/classes/Mongrel/DeflateFilter.html +10 -10
  66. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000099.html → M000121.html} +5 -5
  67. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000100.html → M000122.html} +14 -14
  68. data/doc/rdoc/classes/Mongrel/DirHandler.html +31 -31
  69. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000058.html → M000049.html} +0 -0
  70. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000059.html → M000050.html} +0 -0
  71. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000060.html → M000051.html} +12 -16
  72. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html +63 -0
  73. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000062.html → M000053.html} +25 -25
  74. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000063.html → M000054.html} +4 -4
  75. data/doc/rdoc/classes/Mongrel/Error404Handler.html +10 -10
  76. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000131.html → M000123.html} +0 -0
  77. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000132.html → M000124.html} +0 -0
  78. data/doc/rdoc/classes/Mongrel/HeaderOut.html +10 -10
  79. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000072.html → M000064.html} +4 -4
  80. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000073.html → M000065.html} +4 -4
  81. data/doc/rdoc/classes/Mongrel/HttpHandler.html +15 -15
  82. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000078.html → M000070.html} +0 -0
  83. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000079.html → M000071.html} +0 -0
  84. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000080.html → M000072.html} +0 -0
  85. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +20 -20
  86. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000022.html → M000012.html} +0 -0
  87. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000023.html → M000013.html} +0 -0
  88. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000024.html → M000014.html} +0 -0
  89. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000025.html → M000015.html} +0 -0
  90. data/doc/rdoc/classes/Mongrel/HttpParams.html +131 -0
  91. data/doc/rdoc/classes/Mongrel/HttpParser.html +35 -35
  92. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000051.html → M000042.html} +1 -1
  93. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000052.html → M000043.html} +1 -1
  94. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000053.html → M000044.html} +1 -1
  95. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000054.html → M000045.html} +3 -3
  96. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000055.html → M000046.html} +1 -1
  97. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000056.html → M000047.html} +1 -1
  98. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000057.html → M000048.html} +1 -1
  99. data/doc/rdoc/classes/Mongrel/HttpRequest.html +63 -24
  100. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000130.html +47 -0
  101. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000131.html +37 -0
  102. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000132.html +29 -0
  103. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000139.html → M000133.html} +6 -6
  104. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000140.html → M000134.html} +6 -6
  105. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000141.html → M000135.html} +18 -18
  106. data/doc/rdoc/classes/Mongrel/HttpResponse.html +66 -72
  107. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000073.html +25 -0
  108. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000074.html +20 -0
  109. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +26 -0
  110. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +22 -0
  111. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000085.html → M000077.html} +8 -8
  112. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000086.html → M000078.html} +8 -8
  113. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +31 -0
  114. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000088.html → M000080.html} +7 -7
  115. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +7 -12
  116. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +7 -7
  117. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +7 -12
  118. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +5 -9
  119. data/doc/rdoc/classes/Mongrel/HttpServer.html +58 -43
  120. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000064.html → M000055.html} +11 -11
  121. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000065.html → M000056.html} +76 -72
  122. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000066.html → M000057.html} +18 -17
  123. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000067.html → M000058.html} +7 -7
  124. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html +22 -0
  125. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html +62 -0
  126. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000069.html → M000061.html} +20 -20
  127. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000070.html → M000062.html} +4 -4
  128. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000071.html → M000063.html} +8 -8
  129. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +15 -15
  130. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000042.html → M000032.html} +23 -25
  131. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000043.html → M000033.html} +11 -11
  132. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000044.html → M000034.html} +12 -12
  133. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +30 -15
  134. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/{M000045.html → M000035.html} +9 -8
  135. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000036.html +54 -0
  136. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html +21 -0
  137. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html +25 -0
  138. data/doc/rdoc/classes/Mongrel/RedirectHandler.html +10 -10
  139. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000136.html → M000128.html} +8 -8
  140. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000137.html → M000129.html} +13 -13
  141. data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +16 -16
  142. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000125.html +24 -0
  143. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000134.html → M000126.html} +10 -10
  144. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000135.html → M000127.html} +4 -4
  145. data/doc/rdoc/classes/{Stats.html → Mongrel/Stats.html} +44 -60
  146. data/doc/rdoc/classes/Mongrel/Stats.src/M000136.html +19 -0
  147. data/doc/rdoc/classes/Mongrel/Stats.src/M000137.html +23 -0
  148. data/doc/rdoc/classes/Mongrel/Stats.src/M000138.html +26 -0
  149. data/doc/rdoc/classes/Mongrel/Stats.src/M000139.html +18 -0
  150. data/doc/rdoc/classes/{Stats.src/M000009.html → Mongrel/Stats.src/M000140.html} +6 -6
  151. data/doc/rdoc/classes/Mongrel/Stats.src/M000141.html +18 -0
  152. data/doc/rdoc/classes/Mongrel/Stats.src/M000142.html +23 -0
  153. data/doc/rdoc/classes/Mongrel/Stats.src/M000143.html +20 -0
  154. data/doc/rdoc/classes/Mongrel/StatusHandler.html +20 -20
  155. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000074.html → M000066.html} +4 -4
  156. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000075.html → M000067.html} +10 -10
  157. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000076.html → M000068.html} +28 -28
  158. data/doc/rdoc/classes/Mongrel/StatusHandler.src/{M000077.html → M000069.html} +6 -6
  159. data/doc/rdoc/classes/Mongrel/URIClassifier.html +30 -30
  160. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000093.html → M000085.html} +4 -4
  161. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000094.html → M000086.html} +4 -4
  162. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000095.html → M000087.html} +0 -0
  163. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000096.html → M000088.html} +1 -1
  164. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000097.html → M000089.html} +0 -0
  165. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000098.html → M000090.html} +1 -1
  166. data/doc/rdoc/classes/MongrelDbg.html +26 -26
  167. data/doc/rdoc/classes/MongrelDbg.src/M000005.html +24 -0
  168. data/doc/rdoc/classes/MongrelDbg.src/{M000016.html → M000006.html} +6 -6
  169. data/doc/rdoc/classes/MongrelDbg.src/{M000017.html → M000007.html} +8 -8
  170. data/doc/rdoc/classes/MongrelDbg.src/{M000018.html → M000008.html} +7 -7
  171. data/doc/rdoc/classes/MongrelDbg.src/{M000019.html → M000009.html} +4 -4
  172. data/doc/rdoc/classes/RequestLog/Access.html +5 -5
  173. data/doc/rdoc/classes/RequestLog/Access.src/{M000142.html → M000144.html} +5 -5
  174. data/doc/rdoc/classes/RequestLog/Files.html +5 -5
  175. data/doc/rdoc/classes/RequestLog/Files.src/{M000143.html → M000145.html} +5 -5
  176. data/doc/rdoc/classes/RequestLog/Objects.html +12 -6
  177. data/doc/rdoc/classes/RequestLog/Objects.src/M000147.html +51 -0
  178. data/doc/rdoc/classes/RequestLog/Params.html +5 -5
  179. data/doc/rdoc/classes/RequestLog/Params.src/{M000146.html → M000148.html} +5 -5
  180. data/doc/rdoc/classes/RequestLog/Threads.html +5 -5
  181. data/doc/rdoc/classes/RequestLog/Threads.src/{M000144.html → M000146.html} +20 -20
  182. data/doc/rdoc/classes/{ObjectTracker.html → Sync.html} +26 -45
  183. data/doc/rdoc/created.rid +1 -1
  184. data/doc/rdoc/files/COPYING.html +1 -1
  185. data/doc/rdoc/files/LICENSE.html +1 -1
  186. data/doc/rdoc/files/README.html +1 -1
  187. data/doc/rdoc/files/ext/http11/http11_c.html +1 -1
  188. data/doc/rdoc/files/lib/mongrel/camping_rb.html +1 -1
  189. data/doc/rdoc/files/lib/mongrel/cgi_rb.html +1 -1
  190. data/doc/rdoc/files/lib/mongrel/command_rb.html +1 -1
  191. data/doc/rdoc/files/lib/mongrel/configurator_rb.html +111 -0
  192. data/doc/rdoc/files/lib/mongrel/debug_rb.html +1 -1
  193. data/doc/rdoc/files/lib/mongrel/handlers_rb.html +1 -1
  194. data/doc/rdoc/files/lib/mongrel/init_rb.html +1 -1
  195. data/doc/rdoc/files/lib/mongrel/rails_rb.html +2 -1
  196. data/doc/rdoc/files/lib/mongrel/stats_rb.html +1 -1
  197. data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +1 -1
  198. data/doc/rdoc/files/lib/mongrel_rb.html +2 -4
  199. data/doc/rdoc/fr_class_index.html +3 -2
  200. data/doc/rdoc/fr_file_index.html +1 -0
  201. data/doc/rdoc/fr_method_index.html +144 -142
  202. data/ext/http11/http11.c +69 -52
  203. data/ext/http11/http11_parser.c +366 -282
  204. data/ext/http11/http11_parser.h +2 -0
  205. data/ext/http11/http11_parser.rl +192 -0
  206. data/lib/mongrel.rb +127 -433
  207. data/lib/mongrel/cgi.rb +19 -6
  208. data/lib/mongrel/command.rb +15 -3
  209. data/lib/mongrel/configurator.rb +374 -0
  210. data/lib/mongrel/debug.rb +47 -56
  211. data/lib/mongrel/handlers.rb +16 -20
  212. data/lib/mongrel/rails.rb +36 -20
  213. data/lib/mongrel/stats.rb +60 -58
  214. data/test/test_conditional.rb +37 -30
  215. data/test/test_http11.rb +14 -14
  216. data/test/test_stats.rb +2 -2
  217. data/test/test_ws.rb +4 -2
  218. data/tools/rakehelp.rb +4 -4
  219. metadata +262 -260
  220. data/doc/rdoc/classes/Kernel.src/M000020.html +0 -19
  221. data/doc/rdoc/classes/Kernel.src/M000021.html +0 -23
  222. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000104.html +0 -27
  223. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000036.html +0 -24
  224. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000037.html +0 -24
  225. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000038.html +0 -18
  226. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000041.html +0 -50
  227. data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +0 -20
  228. data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +0 -20
  229. data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +0 -23
  230. data/doc/rdoc/classes/Mongrel/Configurator.src/M000118.html +0 -30
  231. data/doc/rdoc/classes/Mongrel/Configurator.src/M000125.html +0 -25
  232. data/doc/rdoc/classes/Mongrel/Configurator.src/M000127.html +0 -35
  233. data/doc/rdoc/classes/Mongrel/Configurator.src/M000128.html +0 -18
  234. data/doc/rdoc/classes/Mongrel/Configurator.src/M000129.html +0 -33
  235. data/doc/rdoc/classes/Mongrel/Configurator.src/M000130.html +0 -18
  236. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000061.html +0 -63
  237. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html +0 -56
  238. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000087.html +0 -31
  239. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000089.html +0 -20
  240. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000090.html +0 -20
  241. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000091.html +0 -20
  242. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000092.html +0 -18
  243. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000068.html +0 -50
  244. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000046.html +0 -51
  245. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000047.html +0 -23
  246. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000133.html +0 -24
  247. data/doc/rdoc/classes/MongrelDbg.src/M000015.html +0 -19
  248. data/doc/rdoc/classes/ObjectTracker.src/M000013.html +0 -27
  249. data/doc/rdoc/classes/ObjectTracker.src/M000014.html +0 -44
  250. data/doc/rdoc/classes/RequestLog/Objects.src/M000145.html +0 -19
  251. data/doc/rdoc/classes/Stats.src/M000005.html +0 -19
  252. data/doc/rdoc/classes/Stats.src/M000006.html +0 -23
  253. data/doc/rdoc/classes/Stats.src/M000007.html +0 -26
  254. data/doc/rdoc/classes/Stats.src/M000008.html +0 -18
  255. data/doc/rdoc/classes/Stats.src/M000010.html +0 -18
  256. data/doc/rdoc/classes/Stats.src/M000011.html +0 -23
  257. data/doc/rdoc/classes/Stats.src/M000012.html +0 -20
  258. data/lib/http11.so +0 -0
@@ -80,8 +80,8 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000021">log_open_files</a>&nbsp;&nbsp;
84
- <a href="#M000020">open</a>&nbsp;&nbsp;
83
+ <a href="#M000011">log_open_files</a>&nbsp;&nbsp;
84
+ <a href="#M000010">open</a>&nbsp;&nbsp;
85
85
  </div>
86
86
  </div>
87
87
 
@@ -116,12 +116,12 @@
116
116
  <div id="methods">
117
117
  <h3 class="section-bar">Public Instance methods</h3>
118
118
 
119
- <div id="method-M000021" class="method-detail">
120
- <a name="M000021"></a>
119
+ <div id="method-M000011" class="method-detail">
120
+ <a name="M000011"></a>
121
121
 
122
122
  <div class="method-heading">
123
- <a href="Kernel.src/M000021.html" target="Code" class="method-signature"
124
- onclick="popupCode('Kernel.src/M000021.html');return false;">
123
+ <a href="Kernel.src/M000011.html" target="Code" class="method-signature"
124
+ onclick="popupCode('Kernel.src/M000011.html');return false;">
125
125
  <span class="method-name">log_open_files</span><span class="method-args">()</span>
126
126
  </a>
127
127
  </div>
@@ -130,12 +130,12 @@
130
130
  </div>
131
131
  </div>
132
132
 
133
- <div id="method-M000020" class="method-detail">
134
- <a name="M000020"></a>
133
+ <div id="method-M000010" class="method-detail">
134
+ <a name="M000010"></a>
135
135
 
136
136
  <div class="method-heading">
137
- <a href="Kernel.src/M000020.html" target="Code" class="method-signature"
138
- onclick="popupCode('Kernel.src/M000020.html');return false;">
137
+ <a href="Kernel.src/M000010.html" target="Code" class="method-signature"
138
+ onclick="popupCode('Kernel.src/M000010.html');return false;">
139
139
  <span class="method-name">open</span><span class="method-args">(*arg, &amp;blk)</span>
140
140
  </a>
141
141
  </div>
@@ -0,0 +1,19 @@
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>open (Kernel)</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/debug.rb, line 79</span>
14
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
15
+ 80: <span class="ruby-identifier">$open_files</span>[<span class="ruby-keyword kw">self</span>] = <span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>]
16
+ 81: <span class="ruby-identifier">orig_open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
17
+ 82: <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </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>log_open_files (Kernel)</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/debug.rb, line 84</span>
14
+ 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_open_files</span>
15
+ 85: <span class="ruby-identifier">open_counts</span> = {}
16
+ 86: <span class="ruby-identifier">$open_files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span>,<span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
17
+ 87: <span class="ruby-identifier">open_counts</span>[<span class="ruby-identifier">args</span>] <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>
18
+ 88: <span class="ruby-identifier">open_counts</span>[<span class="ruby-identifier">args</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
19
+ 89: <span class="ruby-keyword kw">end</span>
20
+ 90: <span class="ruby-constant">MongrelDbg</span><span class="ruby-operator">::</span><span class="ruby-identifier">trace</span>(<span class="ruby-identifier">:files</span>, <span class="ruby-identifier">open_counts</span>.<span class="ruby-identifier">to_yaml</span>)
21
+ 91: <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -58,25 +58,33 @@
58
58
  <a href="../files/lib/mongrel_rb.html">
59
59
  lib/mongrel.rb
60
60
  </a>
61
+ <br />
62
+ <a href="../files/lib/mongrel/handlers_rb.html">
63
+ lib/mongrel/handlers.rb
64
+ </a>
61
65
  <br />
62
66
  <a href="../files/lib/mongrel/camping_rb.html">
63
67
  lib/mongrel/camping.rb
64
68
  </a>
69
+ <br />
70
+ <a href="../files/lib/mongrel/rails_rb.html">
71
+ lib/mongrel/rails.rb
72
+ </a>
65
73
  <br />
66
74
  <a href="../files/lib/mongrel/cgi_rb.html">
67
75
  lib/mongrel/cgi.rb
68
76
  </a>
69
77
  <br />
70
- <a href="../files/lib/mongrel/command_rb.html">
71
- lib/mongrel/command.rb
78
+ <a href="../files/lib/mongrel/stats_rb.html">
79
+ lib/mongrel/stats.rb
72
80
  </a>
73
81
  <br />
74
- <a href="../files/lib/mongrel/handlers_rb.html">
75
- lib/mongrel/handlers.rb
82
+ <a href="../files/lib/mongrel/command_rb.html">
83
+ lib/mongrel/command.rb
76
84
  </a>
77
85
  <br />
78
- <a href="../files/lib/mongrel/rails_rb.html">
79
- lib/mongrel/rails.rb
86
+ <a href="../files/lib/mongrel/configurator_rb.html">
87
+ lib/mongrel/configurator.rb
80
88
  </a>
81
89
  <br />
82
90
  <a href="../files/ext/http11/http11_c.html">
@@ -98,10 +106,17 @@
98
106
 
99
107
  <div id="description">
100
108
  <p>
101
- <a href="Mongrel.html">Mongrel</a> module containing all of the classes
102
- (include C extensions) for running a <a href="Mongrel.html">Mongrel</a> web
103
- server. It contains a minimalist HTTP server with just enough functionality
104
- to service web application requests fast as possible.
109
+ A very simple little class for doing some basic fast statistics sampling.
110
+ You feed it either samples of numeric data you want measured or you call <a
111
+ href="Mongrel/Stats.html#M000143">Stats.tick</a> to get it to add a time
112
+ delta between the last time you called it. When you&#8217;re done either
113
+ call sum, sumsq, n, min, max, mean or sd to get the information. The other
114
+ option is to just call dump and see everything.
115
+ </p>
116
+ <p>
117
+ It does all of this very fast and doesn&#8217;t take up any memory since
118
+ the samples are not stored but instead all the values are calculated on the
119
+ fly.
105
120
  </p>
106
121
 
107
122
  </div>
@@ -132,6 +147,7 @@ Class <a href="Mongrel/DirHandler.html" class="link">Mongrel::DirHandler</a><br
132
147
  Class <a href="Mongrel/Error404Handler.html" class="link">Mongrel::Error404Handler</a><br />
133
148
  Class <a href="Mongrel/HeaderOut.html" class="link">Mongrel::HeaderOut</a><br />
134
149
  Class <a href="Mongrel/HttpHandler.html" class="link">Mongrel::HttpHandler</a><br />
150
+ Class <a href="Mongrel/HttpParams.html" class="link">Mongrel::HttpParams</a><br />
135
151
  Class <a href="Mongrel/HttpParser.html" class="link">Mongrel::HttpParser</a><br />
136
152
  Class <a href="Mongrel/HttpParserError.html" class="link">Mongrel::HttpParserError</a><br />
137
153
  Class <a href="Mongrel/HttpRequest.html" class="link">Mongrel::HttpRequest</a><br />
@@ -139,6 +155,7 @@ Class <a href="Mongrel/HttpResponse.html" class="link">Mongrel::HttpResponse</a>
139
155
  Class <a href="Mongrel/HttpServer.html" class="link">Mongrel::HttpServer</a><br />
140
156
  Class <a href="Mongrel/RedirectHandler.html" class="link">Mongrel::RedirectHandler</a><br />
141
157
  Class <a href="Mongrel/StatisticsFilter.html" class="link">Mongrel::StatisticsFilter</a><br />
158
+ Class <a href="Mongrel/Stats.html" class="link">Mongrel::Stats</a><br />
142
159
  Class <a href="Mongrel/StatusHandler.html" class="link">Mongrel::StatusHandler</a><br />
143
160
  Class <a href="Mongrel/StopServer.html" class="link">Mongrel::StopServer</a><br />
144
161
  Class <a href="Mongrel/TimeoutError.html" class="link">Mongrel::TimeoutError</a><br />
@@ -104,7 +104,7 @@ with:
104
104
  <p>
105
105
  Which is ugly but does the job. Feel free to write a <a
106
106
  href="Rails.html">Rails</a> helper for that. Refer to <a
107
- href="DirHandler.html#M000059">DirHandler#can_serve</a> for more
107
+ href="DirHandler.html#M000050">DirHandler#can_serve</a> for more
108
108
  information on this.
109
109
  </p>
110
110
 
@@ -117,15 +117,15 @@ information on this.
117
117
  <h3 class="section-bar">Methods</h3>
118
118
 
119
119
  <div class="name-list">
120
- <a href="#M000106">args</a>&nbsp;&nbsp;
121
- <a href="#M000107">env_table</a>&nbsp;&nbsp;
122
- <a href="#M000102">header</a>&nbsp;&nbsp;
123
- <a href="#M000101">new</a>&nbsp;&nbsp;
124
- <a href="#M000104">out</a>&nbsp;&nbsp;
125
- <a href="#M000103">send_cookies</a>&nbsp;&nbsp;
126
- <a href="#M000105">status</a>&nbsp;&nbsp;
127
- <a href="#M000108">stdinput</a>&nbsp;&nbsp;
128
- <a href="#M000109">stdoutput</a>&nbsp;&nbsp;
120
+ <a href="#M000117">args</a>&nbsp;&nbsp;
121
+ <a href="#M000118">env_table</a>&nbsp;&nbsp;
122
+ <a href="#M000113">header</a>&nbsp;&nbsp;
123
+ <a href="#M000112">new</a>&nbsp;&nbsp;
124
+ <a href="#M000115">out</a>&nbsp;&nbsp;
125
+ <a href="#M000114">send_cookies</a>&nbsp;&nbsp;
126
+ <a href="#M000116">status</a>&nbsp;&nbsp;
127
+ <a href="#M000119">stdinput</a>&nbsp;&nbsp;
128
+ <a href="#M000120">stdoutput</a>&nbsp;&nbsp;
129
129
  </div>
130
130
  </div>
131
131
 
@@ -149,7 +149,7 @@ information on this.
149
149
  <td width="3em">&nbsp;</td>
150
150
  <td class="context-item-desc">
151
151
  these are stripped out of any keys passed to <a
152
- href="CGIWrapper.html#M000102">CGIWrapper.header</a> function
152
+ href="CGIWrapper.html#M000113">CGIWrapper.header</a> function
153
153
 
154
154
  </td>
155
155
  </tr>
@@ -165,13 +165,18 @@ href="CGIWrapper.html#M000102">CGIWrapper.header</a> function
165
165
  <div class="name-list">
166
166
  <table>
167
167
  <tr class="top-aligned-row context-row">
168
- <td class="context-item-name">handler</td>
169
- <td class="context-item-value">&nbsp;[W]&nbsp;</td>
170
- <td class="context-item-desc"></td>
168
+ <td class="context-item-name">default_really_final</td>
169
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
170
+ <td class="context-item-desc">
171
+ Set this to false if you want calls to <a
172
+ href="CGIWrapper.html#M000115">CGIWrapper.out</a> to not actually send the
173
+ response until you force it.
174
+
175
+ </td>
171
176
  </tr>
172
177
  <tr class="top-aligned-row context-row">
173
178
  <td class="context-item-name">handler</td>
174
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
179
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
175
180
  <td class="context-item-desc"></td>
176
181
  </tr>
177
182
  <tr class="top-aligned-row context-row">
@@ -189,12 +194,12 @@ href="CGIWrapper.html#M000102">CGIWrapper.header</a> function
189
194
  <div id="methods">
190
195
  <h3 class="section-bar">Public Class methods</h3>
191
196
 
192
- <div id="method-M000101" class="method-detail">
193
- <a name="M000101"></a>
197
+ <div id="method-M000112" class="method-detail">
198
+ <a name="M000112"></a>
194
199
 
195
200
  <div class="method-heading">
196
- <a href="CGIWrapper.src/M000101.html" target="Code" class="method-signature"
197
- onclick="popupCode('CGIWrapper.src/M000101.html');return false;">
201
+ <a href="CGIWrapper.src/M000112.html" target="Code" class="method-signature"
202
+ onclick="popupCode('CGIWrapper.src/M000112.html');return false;">
198
203
  <span class="method-name">new</span><span class="method-args">(request, response, *args)</span>
199
204
  </a>
200
205
  </div>
@@ -212,12 +217,12 @@ href="../Mongrel.html">Mongrel</a>&#8217;s view of the world.
212
217
 
213
218
  <h3 class="section-bar">Public Instance methods</h3>
214
219
 
215
- <div id="method-M000106" class="method-detail">
216
- <a name="M000106"></a>
220
+ <div id="method-M000117" class="method-detail">
221
+ <a name="M000117"></a>
217
222
 
218
223
  <div class="method-heading">
219
- <a href="CGIWrapper.src/M000106.html" target="Code" class="method-signature"
220
- onclick="popupCode('CGIWrapper.src/M000106.html');return false;">
224
+ <a href="CGIWrapper.src/M000117.html" target="Code" class="method-signature"
225
+ onclick="popupCode('CGIWrapper.src/M000117.html');return false;">
221
226
  <span class="method-name">args</span><span class="method-args">()</span>
222
227
  </a>
223
228
  </div>
@@ -229,30 +234,30 @@ Used to wrap the normal args variable used inside CGI.
229
234
  </div>
230
235
  </div>
231
236
 
232
- <div id="method-M000107" class="method-detail">
233
- <a name="M000107"></a>
237
+ <div id="method-M000118" class="method-detail">
238
+ <a name="M000118"></a>
234
239
 
235
240
  <div class="method-heading">
236
- <a href="CGIWrapper.src/M000107.html" target="Code" class="method-signature"
237
- onclick="popupCode('CGIWrapper.src/M000107.html');return false;">
241
+ <a href="CGIWrapper.src/M000118.html" target="Code" class="method-signature"
242
+ onclick="popupCode('CGIWrapper.src/M000118.html');return false;">
238
243
  <span class="method-name">env_table</span><span class="method-args">()</span>
239
244
  </a>
240
245
  </div>
241
246
 
242
247
  <div class="method-description">
243
248
  <p>
244
- Used to wrap the normal <a href="CGIWrapper.html#M000107">env_table</a>
249
+ Used to wrap the normal <a href="CGIWrapper.html#M000118">env_table</a>
245
250
  variable used inside CGI.
246
251
  </p>
247
252
  </div>
248
253
  </div>
249
254
 
250
- <div id="method-M000102" class="method-detail">
251
- <a name="M000102"></a>
255
+ <div id="method-M000113" class="method-detail">
256
+ <a name="M000113"></a>
252
257
 
253
258
  <div class="method-heading">
254
- <a href="CGIWrapper.src/M000102.html" target="Code" class="method-signature"
255
- onclick="popupCode('CGIWrapper.src/M000102.html');return false;">
259
+ <a href="CGIWrapper.src/M000113.html" target="Code" class="method-signature"
260
+ onclick="popupCode('CGIWrapper.src/M000113.html');return false;">
256
261
  <span class="method-name">header</span><span class="method-args">(options = &quot;text/html&quot;)</span>
257
262
  </a>
258
263
  </div>
@@ -271,13 +276,13 @@ output.
271
276
  </div>
272
277
  </div>
273
278
 
274
- <div id="method-M000104" class="method-detail">
275
- <a name="M000104"></a>
279
+ <div id="method-M000115" class="method-detail">
280
+ <a name="M000115"></a>
276
281
 
277
282
  <div class="method-heading">
278
- <a href="CGIWrapper.src/M000104.html" target="Code" class="method-signature"
279
- onclick="popupCode('CGIWrapper.src/M000104.html');return false;">
280
- <span class="method-name">out</span><span class="method-args">(options = &quot;text/html&quot;) {||| &quot;&quot;)| ...}</span>
283
+ <a href="CGIWrapper.src/M000115.html" target="Code" class="method-signature"
284
+ onclick="popupCode('CGIWrapper.src/M000115.html');return false;">
285
+ <span class="method-name">out</span><span class="method-args">(options = &quot;text/html&quot;, really_final=@default_really_final) {||| &quot;&quot;)| ...}</span>
281
286
  </a>
282
287
  </div>
283
288
 
@@ -288,17 +293,25 @@ So, we just reuse header and then finalize the <a
288
293
  href="HttpResponse.html">HttpResponse</a> the right way. Status is taken
289
294
  from the various options and converted to what <a
290
295
  href="../Mongrel.html">Mongrel</a> needs via the <a
291
- href="CGIWrapper.html#M000105">CGIWrapper.status</a> function.
296
+ href="CGIWrapper.html#M000116">CGIWrapper.status</a> function.
297
+ </p>
298
+ <p>
299
+ We also prevent <a href="Rails.html">Rails</a> from actually doing the
300
+ final send by adding a second parameter &quot;really_final&quot;. Only <a
301
+ href="../Mongrel.html">Mongrel</a> calls this after <a
302
+ href="Rails.html">Rails</a> is done. Since this will break other
303
+ frameworks, it defaults to a different setting for rails (false) and (true)
304
+ for others.
292
305
  </p>
293
306
  </div>
294
307
  </div>
295
308
 
296
- <div id="method-M000103" class="method-detail">
297
- <a name="M000103"></a>
309
+ <div id="method-M000114" class="method-detail">
310
+ <a name="M000114"></a>
298
311
 
299
312
  <div class="method-heading">
300
- <a href="CGIWrapper.src/M000103.html" target="Code" class="method-signature"
301
- onclick="popupCode('CGIWrapper.src/M000103.html');return false;">
313
+ <a href="CGIWrapper.src/M000114.html" target="Code" class="method-signature"
314
+ onclick="popupCode('CGIWrapper.src/M000114.html');return false;">
302
315
  <span class="method-name">send_cookies</span><span class="method-args">(to)</span>
303
316
  </a>
304
317
  </div>
@@ -314,12 +327,12 @@ the options. If cookie is an Array or Hash then it sends those on with
314
327
  </div>
315
328
  </div>
316
329
 
317
- <div id="method-M000105" class="method-detail">
318
- <a name="M000105"></a>
330
+ <div id="method-M000116" class="method-detail">
331
+ <a name="M000116"></a>
319
332
 
320
333
  <div class="method-heading">
321
- <a href="CGIWrapper.src/M000105.html" target="Code" class="method-signature"
322
- onclick="popupCode('CGIWrapper.src/M000105.html');return false;">
334
+ <a href="CGIWrapper.src/M000116.html" target="Code" class="method-signature"
335
+ onclick="popupCode('CGIWrapper.src/M000116.html');return false;">
323
336
  <span class="method-name">status</span><span class="method-args">()</span>
324
337
  </a>
325
338
  </div>
@@ -333,12 +346,12 @@ status message in the status we have to do a bit of parsing.
333
346
  </div>
334
347
  </div>
335
348
 
336
- <div id="method-M000108" class="method-detail">
337
- <a name="M000108"></a>
349
+ <div id="method-M000119" class="method-detail">
350
+ <a name="M000119"></a>
338
351
 
339
352
  <div class="method-heading">
340
- <a href="CGIWrapper.src/M000108.html" target="Code" class="method-signature"
341
- onclick="popupCode('CGIWrapper.src/M000108.html');return false;">
353
+ <a href="CGIWrapper.src/M000119.html" target="Code" class="method-signature"
354
+ onclick="popupCode('CGIWrapper.src/M000119.html');return false;">
342
355
  <span class="method-name">stdinput</span><span class="method-args">()</span>
343
356
  </a>
344
357
  </div>
@@ -350,12 +363,12 @@ Used to wrap the normal stdinput variable used inside CGI.
350
363
  </div>
351
364
  </div>
352
365
 
353
- <div id="method-M000109" class="method-detail">
354
- <a name="M000109"></a>
366
+ <div id="method-M000120" class="method-detail">
367
+ <a name="M000120"></a>
355
368
 
356
369
  <div class="method-heading">
357
- <a href="CGIWrapper.src/M000109.html" target="Code" class="method-signature"
358
- onclick="popupCode('CGIWrapper.src/M000109.html');return false;">
370
+ <a href="CGIWrapper.src/M000120.html" target="Code" class="method-signature"
371
+ onclick="popupCode('CGIWrapper.src/M000120.html');return false;">
359
372
  <span class="method-name">stdoutput</span><span class="method-args">()</span>
360
373
  </a>
361
374
  </div>
@@ -10,15 +10,16 @@
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/cgi.rb, line 40</span>
14
- 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">request</span>, <span class="ruby-identifier">response</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
15
- 41: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
16
- 42: <span class="ruby-ivar">@response</span> = <span class="ruby-identifier">response</span>
17
- 43: <span class="ruby-ivar">@args</span> = <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
18
- 44: <span class="ruby-ivar">@input</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">body</span>
19
- 45: <span class="ruby-ivar">@head</span> = {}
20
- 46: <span class="ruby-ivar">@out_called</span> = <span class="ruby-keyword kw">false</span>
21
- 47: <span class="ruby-keyword kw">super</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
22
- 48: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 42</span>
14
+ 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">request</span>, <span class="ruby-identifier">response</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
15
+ 43: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
16
+ 44: <span class="ruby-ivar">@response</span> = <span class="ruby-identifier">response</span>
17
+ 45: <span class="ruby-ivar">@args</span> = <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
18
+ 46: <span class="ruby-ivar">@input</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">body</span>
19
+ 47: <span class="ruby-ivar">@head</span> = {}
20
+ 48: <span class="ruby-ivar">@out_called</span> = <span class="ruby-keyword kw">false</span>
21
+ 49: <span class="ruby-ivar">@default_really_final</span>=<span class="ruby-keyword kw">true</span>
22
+ 50: <span class="ruby-keyword kw">super</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
23
+ 51: <span class="ruby-keyword kw">end</span></pre>
23
24
  </body>
24
25
  </html>
@@ -10,38 +10,38 @@
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/cgi.rb, line 57</span>
14
- 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header</span>(<span class="ruby-identifier">options</span> = <span class="ruby-value str">&quot;text/html&quot;</span>)
15
- 58: <span class="ruby-comment cmt"># if they pass in a string then just write the Content-Type</span>
16
- 59: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>
17
- 60: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>] = <span class="ruby-identifier">options</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>]
18
- 61: <span class="ruby-keyword kw">else</span>
19
- 62: <span class="ruby-comment cmt"># convert the given options into what Mongrel wants</span>
20
- 63: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'type'</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;text/html&quot;</span>
21
- 64: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>] <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;; charset=&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'charset'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-value str">&quot;charset&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'charset'</span>]
22
- 65:
23
- 66: <span class="ruby-comment cmt"># setup date only if they use nph</span>
24
- 67: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Date'</span>] = <span class="ruby-constant">CGI</span><span class="ruby-operator">::</span><span class="ruby-identifier">rfc1123_date</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'nph'</span>]
25
- 68:
26
- 69: <span class="ruby-comment cmt"># setup the server to use the default or what they set</span>
27
- 70: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Server'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'server'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">env_table</span>[<span class="ruby-value str">'SERVER_SOFTWARE'</span>]
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 60</span>
14
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header</span>(<span class="ruby-identifier">options</span> = <span class="ruby-value str">&quot;text/html&quot;</span>)
15
+ 61: <span class="ruby-comment cmt"># if they pass in a string then just write the Content-Type</span>
16
+ 62: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>
17
+ 63: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>] = <span class="ruby-identifier">options</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>]
18
+ 64: <span class="ruby-keyword kw">else</span>
19
+ 65: <span class="ruby-comment cmt"># convert the given options into what Mongrel wants</span>
20
+ 66: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'type'</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;text/html&quot;</span>
21
+ 67: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Type'</span>] <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;; charset=&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'charset'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-value str">&quot;charset&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'charset'</span>]
22
+ 68:
23
+ 69: <span class="ruby-comment cmt"># setup date only if they use nph</span>
24
+ 70: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Date'</span>] = <span class="ruby-constant">CGI</span><span class="ruby-operator">::</span><span class="ruby-identifier">rfc1123_date</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'nph'</span>]
28
25
  71:
29
- 72: <span class="ruby-comment cmt"># remaining possible options they can give</span>
30
- 73: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Status'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'status'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'status'</span>]
31
- 74: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Language'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'language'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'language'</span>]
32
- 75: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Expires'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'expires'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'expires'</span>]
33
- 76:
34
- 77: <span class="ruby-comment cmt"># drop the keys we don't want anymore</span>
35
- 78: <span class="ruby-constant">REMOVED_KEYS</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) }
26
+ 72: <span class="ruby-comment cmt"># setup the server to use the default or what they set</span>
27
+ 73: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Server'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'server'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">env_table</span>[<span class="ruby-value str">'SERVER_SOFTWARE'</span>]
28
+ 74:
29
+ 75: <span class="ruby-comment cmt"># remaining possible options they can give</span>
30
+ 76: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Status'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'status'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'status'</span>]
31
+ 77: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Content-Language'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'language'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'language'</span>]
32
+ 78: <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'Expires'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'expires'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">'expires'</span>]
36
33
  79:
37
- 80: <span class="ruby-comment cmt"># finally just convert the rest raw (which puts 'cookie' directly)</span>
38
- 81: <span class="ruby-comment cmt"># 'cookie' is translated later as we write the header out</span>
39
- 82: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@head</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>}
40
- 83: <span class="ruby-keyword kw">end</span>
41
- 84:
42
- 85: <span class="ruby-comment cmt"># doing this fakes out the cgi library to think the headers are empty</span>
43
- 86: <span class="ruby-comment cmt"># we then do the real headers in the out function call later</span>
44
- 87: <span class="ruby-value str">&quot;&quot;</span>
45
- 88: <span class="ruby-keyword kw">end</span></pre>
34
+ 80: <span class="ruby-comment cmt"># drop the keys we don't want anymore</span>
35
+ 81: <span class="ruby-constant">REMOVED_KEYS</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) }
36
+ 82:
37
+ 83: <span class="ruby-comment cmt"># finally just convert the rest raw (which puts 'cookie' directly)</span>
38
+ 84: <span class="ruby-comment cmt"># 'cookie' is translated later as we write the header out</span>
39
+ 85: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@head</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>}
40
+ 86: <span class="ruby-keyword kw">end</span>
41
+ 87:
42
+ 88: <span class="ruby-comment cmt"># doing this fakes out the cgi library to think the headers are empty</span>
43
+ 89: <span class="ruby-comment cmt"># we then do the real headers in the out function call later</span>
44
+ 90: <span class="ruby-value str">&quot;&quot;</span>
45
+ 91: <span class="ruby-keyword kw">end</span></pre>
46
46
  </body>
47
47
  </html>