mongrel 0.3.12.4 → 0.3.13

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 (264) hide show
  1. data/Rakefile +44 -33
  2. data/bin/mongrel_rails +67 -34
  3. data/doc/rdoc/classes/IO.html +10 -10
  4. data/doc/rdoc/classes/IO.src/{M000005.html → M000001.html} +5 -5
  5. data/doc/rdoc/classes/IO.src/{M000006.html → M000002.html} +5 -5
  6. data/doc/rdoc/classes/Kernel.html +10 -10
  7. data/doc/rdoc/classes/Kernel.src/{M000025.html → M000020.html} +5 -5
  8. data/doc/rdoc/classes/Kernel.src/M000021.html +23 -0
  9. data/doc/rdoc/classes/Mongrel.html +25 -4
  10. data/doc/rdoc/classes/Mongrel/CGIWrapper.html +383 -0
  11. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000096.html +11 -5
  12. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000097.html +34 -5
  13. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000098.html +21 -6
  14. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000093.html → M000099.html} +13 -13
  15. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000094.html → M000100.html} +11 -11
  16. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000095.html → M000101.html} +4 -4
  17. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000102.html +18 -0
  18. data/doc/rdoc/classes/Mongrel/{URIClassifier.src/M000084.html → CGIWrapper.src/M000103.html} +5 -5
  19. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000104.html +19 -0
  20. data/doc/rdoc/classes/Mongrel/Camping.html +5 -5
  21. data/doc/rdoc/classes/Mongrel/Camping.src/M000046.html +22 -0
  22. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +10 -10
  23. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/{M000049.html → M000047.html} +4 -4
  24. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000048.html +51 -0
  25. data/doc/rdoc/classes/Mongrel/Command.html +13 -0
  26. data/doc/rdoc/classes/Mongrel/Command/Base.html +95 -50
  27. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000024.html +24 -0
  28. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000025.html +42 -0
  29. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +18 -0
  30. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +18 -0
  31. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +18 -0
  32. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html +5 -11
  33. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html +9 -28
  34. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000031.html +5 -5
  35. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000032.html +5 -5
  36. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000033.html +5 -5
  37. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000034.html +11 -9
  38. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000035.html +11 -5
  39. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000036.html +5 -5
  40. data/doc/rdoc/classes/Mongrel/Command/Registry.html +15 -15
  41. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000037.html +20 -0
  42. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000040.html → M000038.html} +11 -11
  43. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000039.html +37 -7
  44. data/doc/rdoc/classes/Mongrel/Configurator.html +651 -0
  45. data/doc/rdoc/classes/Mongrel/Configurator.src/M000105.html +16 -20
  46. data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +18 -5
  47. data/doc/rdoc/classes/Mongrel/Configurator.src/M000107.html +7 -11
  48. data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +7 -6
  49. data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +10 -9
  50. data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +5 -8
  51. data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +21 -5
  52. data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +6 -15
  53. data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +17 -5
  54. data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +20 -33
  55. data/doc/rdoc/classes/Mongrel/Configurator.src/M000115.html +5 -5
  56. data/doc/rdoc/classes/Mongrel/Configurator.src/M000116.html +24 -0
  57. data/doc/rdoc/classes/Mongrel/Configurator.src/M000117.html +19 -0
  58. data/doc/rdoc/classes/Mongrel/Configurator.src/M000118.html +22 -0
  59. data/doc/rdoc/classes/Mongrel/Configurator.src/M000119.html +25 -0
  60. data/doc/rdoc/classes/Mongrel/Configurator.src/M000120.html +18 -0
  61. data/doc/rdoc/classes/Mongrel/Configurator.src/M000121.html +35 -0
  62. data/doc/rdoc/classes/Mongrel/Configurator.src/M000122.html +18 -0
  63. data/doc/rdoc/classes/Mongrel/Configurator.src/M000123.html +33 -0
  64. data/doc/rdoc/classes/Mongrel/Configurator.src/M000124.html +18 -0
  65. data/doc/rdoc/classes/Mongrel/Const.html +39 -7
  66. data/doc/rdoc/classes/Mongrel/DeflateFilter.html +181 -0
  67. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000094.html +19 -0
  68. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000095.html +28 -0
  69. data/doc/rdoc/classes/Mongrel/DirHandler.html +48 -33
  70. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html +21 -0
  71. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000057.html +43 -0
  72. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000058.html +29 -7
  73. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000059.html +50 -29
  74. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000060.html +26 -27
  75. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000061.html +5 -38
  76. data/doc/rdoc/classes/Mongrel/Error404Handler.html +171 -0
  77. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000116.html → M000125.html} +4 -4
  78. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000117.html → M000126.html} +4 -4
  79. data/doc/rdoc/classes/Mongrel/HeaderOut.html +185 -0
  80. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000072.html → M000069.html} +4 -4
  81. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000073.html → M000070.html} +4 -4
  82. data/doc/rdoc/classes/Mongrel/HttpHandler.html +170 -0
  83. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000074.html → M000075.html} +3 -3
  84. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +20 -10
  85. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000027.html → M000022.html} +5 -4
  86. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/{M000028.html → M000023.html} +3 -3
  87. data/doc/rdoc/classes/Mongrel/HttpParser.html +41 -36
  88. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000056.html → M000049.html} +6 -5
  89. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000057.html → M000050.html} +7 -6
  90. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000051.html +7 -6
  91. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000052.html +37 -7
  92. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000053.html +5 -7
  93. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000054.html +6 -22
  94. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000055.html +6 -5
  95. data/doc/rdoc/classes/Mongrel/HttpRequest.html +239 -0
  96. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000130.html +52 -0
  97. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000119.html → M000131.html} +6 -6
  98. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000120.html → M000132.html} +6 -6
  99. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000121.html → M000133.html} +18 -18
  100. data/doc/rdoc/classes/Mongrel/HttpResponse.html +439 -0
  101. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +12 -7
  102. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html +7 -12
  103. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html +12 -9
  104. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +9 -9
  105. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000080.html +9 -10
  106. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +9 -5
  107. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +18 -7
  108. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +8 -5
  109. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +20 -0
  110. data/doc/rdoc/classes/Mongrel/{HttpServer.src/M000069.html → HttpResponse.src/M000085.html} +7 -5
  111. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html +20 -0
  112. data/doc/rdoc/classes/Mongrel/{Configurator.src/M000101.html → HttpResponse.src/M000087.html} +5 -5
  113. data/doc/rdoc/classes/Mongrel/HttpServer.html +68 -59
  114. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html +25 -0
  115. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html +83 -0
  116. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000064.html +13 -11
  117. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html +50 -53
  118. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000066.html +21 -11
  119. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000067.html +5 -47
  120. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000068.html +9 -15
  121. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +16 -16
  122. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000040.html +39 -0
  123. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000043.html → M000041.html} +11 -11
  124. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000042.html +13 -22
  125. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +17 -17
  126. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000043.html +22 -0
  127. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000044.html +51 -0
  128. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000045.html +10 -9
  129. data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +211 -0
  130. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000127.html +24 -0
  131. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000128.html +24 -0
  132. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000129.html +18 -0
  133. data/doc/rdoc/classes/{Class.html → Mongrel/StatusHandler.html} +42 -45
  134. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html +18 -0
  135. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000072.html +24 -0
  136. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000073.html +42 -0
  137. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000074.html +20 -0
  138. data/doc/rdoc/classes/Mongrel/StopServer.html +117 -0
  139. data/doc/rdoc/classes/Mongrel/URIClassifier.html +314 -0
  140. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html +5 -23
  141. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html +5 -70
  142. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000086.html → M000090.html} +0 -0
  143. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000087.html → M000091.html} +0 -0
  144. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html +36 -0
  145. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000093.html +83 -0
  146. data/doc/rdoc/classes/MongrelDbg.html +25 -25
  147. data/doc/rdoc/classes/MongrelDbg.src/{M000020.html → M000015.html} +5 -5
  148. data/doc/rdoc/classes/MongrelDbg.src/{M000021.html → M000016.html} +6 -6
  149. data/doc/rdoc/classes/MongrelDbg.src/{M000022.html → M000017.html} +8 -8
  150. data/doc/rdoc/classes/MongrelDbg.src/{M000023.html → M000018.html} +7 -7
  151. data/doc/rdoc/classes/MongrelDbg.src/{M000024.html → M000019.html} +4 -4
  152. data/doc/rdoc/classes/ObjectTracker.html +10 -40
  153. data/doc/rdoc/classes/ObjectTracker.src/M000013.html +27 -0
  154. data/doc/rdoc/classes/ObjectTracker.src/M000014.html +44 -0
  155. data/doc/rdoc/classes/RequestLog.html +115 -0
  156. data/doc/rdoc/classes/RequestLog/Access.html +151 -0
  157. data/doc/rdoc/classes/RequestLog/Access.src/{M000122.html → M000134.html} +5 -5
  158. data/doc/rdoc/classes/RequestLog/Files.html +144 -0
  159. data/doc/rdoc/classes/RequestLog/Files.src/{M000123.html → M000135.html} +5 -5
  160. data/doc/rdoc/classes/RequestLog/Objects.html +144 -0
  161. data/doc/rdoc/classes/RequestLog/Objects.src/{M000124.html → M000137.html} +5 -5
  162. data/doc/rdoc/classes/RequestLog/Params.html +144 -0
  163. data/doc/rdoc/classes/RequestLog/Params.src/{M000125.html → M000138.html} +5 -5
  164. data/doc/rdoc/classes/RequestLog/Threads.html +144 -0
  165. data/doc/rdoc/classes/RequestLog/Threads.src/M000136.html +34 -0
  166. data/doc/rdoc/classes/Stats.html +54 -36
  167. data/doc/rdoc/classes/Stats.src/{M000013.html → M000005.html} +6 -5
  168. data/doc/rdoc/classes/Stats.src/M000006.html +23 -0
  169. data/doc/rdoc/classes/Stats.src/M000007.html +26 -0
  170. data/doc/rdoc/classes/Stats.src/M000008.html +18 -0
  171. data/doc/rdoc/classes/Stats.src/M000009.html +5 -6
  172. data/doc/rdoc/classes/Stats.src/M000010.html +5 -10
  173. data/doc/rdoc/classes/Stats.src/M000011.html +10 -13
  174. data/doc/rdoc/classes/Stats.src/M000012.html +7 -5
  175. data/doc/rdoc/classes/TCPServer.html +9 -9
  176. data/doc/rdoc/classes/TCPServer.src/M000003.html +19 -0
  177. data/doc/rdoc/created.rid +1 -1
  178. data/doc/rdoc/files/COPYING.html +1 -1
  179. data/doc/rdoc/files/LICENSE.html +1 -1
  180. data/doc/rdoc/files/README.html +1 -1
  181. data/doc/rdoc/files/ext/http11/http11_c.html +1 -1
  182. data/doc/rdoc/files/lib/mongrel/camping_rb.html +28 -1
  183. data/doc/rdoc/files/lib/mongrel/cgi_rb.html +28 -1
  184. data/doc/rdoc/files/lib/mongrel/command_rb.html +28 -1
  185. data/doc/rdoc/files/lib/mongrel/debug_rb.html +28 -1
  186. data/doc/rdoc/files/lib/mongrel/handlers_rb.html +3 -3
  187. data/doc/rdoc/files/lib/mongrel/init_rb.html +28 -1
  188. data/doc/rdoc/files/lib/mongrel/rails_rb.html +28 -1
  189. data/doc/rdoc/files/lib/mongrel/stats_rb.html +21 -10
  190. data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +23 -4
  191. data/doc/rdoc/files/lib/mongrel_rb.html +33 -1
  192. data/doc/rdoc/fr_class_index.html +65 -0
  193. data/doc/rdoc/fr_file_index.html +40 -0
  194. data/doc/rdoc/fr_method_index.html +164 -0
  195. data/doc/rdoc/index.html +24 -0
  196. data/examples/camping/blog.rb +1 -1
  197. data/examples/camping/tepee.rb +4 -3
  198. data/examples/simpletest.rb +15 -14
  199. data/ext/http11/http11.c +52 -18
  200. data/ext/http11/http11_parser.c +194 -177
  201. data/ext/http11/http11_parser.h +23 -5
  202. data/lib/mongrel.rb +295 -134
  203. data/lib/mongrel/camping.rb +48 -6
  204. data/lib/mongrel/cgi.rb +20 -2
  205. data/lib/mongrel/command.rb +76 -27
  206. data/lib/mongrel/debug.rb +42 -13
  207. data/lib/mongrel/handlers.rb +218 -59
  208. data/lib/mongrel/init.rb +18 -0
  209. data/lib/mongrel/rails.rb +61 -44
  210. data/lib/mongrel/stats.rb +30 -2
  211. data/lib/mongrel/tcphack.rb +18 -0
  212. data/setup.rb +799 -574
  213. data/test/mime.yaml +3 -0
  214. data/test/mongrel.conf +1 -0
  215. data/test/test_command.rb +101 -0
  216. data/test/test_conditional.rb +124 -0
  217. data/test/test_configurator.rb +56 -22
  218. data/test/test_debug.rb +18 -2
  219. data/test/test_handlers.rb +105 -0
  220. data/test/test_http11.rb +27 -9
  221. data/test/test_response.rb +38 -0
  222. data/test/test_stats.rb +21 -2
  223. data/test/test_uriclassifier.rb +18 -0
  224. data/test/test_ws.rb +105 -19
  225. data/test/testhelp.rb +36 -0
  226. data/tools/rakehelp.rb +52 -46
  227. data/tools/trickletest.rb +37 -0
  228. metadata +127 -76
  229. data/doc/rdoc/classes/Class.src/M000001.html +0 -24
  230. data/doc/rdoc/classes/Class.src/M000002.html +0 -62
  231. data/doc/rdoc/classes/Class.src/M000003.html +0 -21
  232. data/doc/rdoc/classes/Class.src/M000004.html +0 -20
  233. data/doc/rdoc/classes/Kernel.src/M000026.html +0 -25
  234. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000090.html +0 -24
  235. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000091.html +0 -47
  236. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000092.html +0 -34
  237. data/doc/rdoc/classes/Mongrel/Camping.src/M000048.html +0 -22
  238. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000050.html +0 -27
  239. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000037.html +0 -18
  240. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000038.html +0 -18
  241. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000041.html +0 -46
  242. data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +0 -24
  243. data/doc/rdoc/classes/Mongrel/Configurator.src/M000100.html +0 -23
  244. data/doc/rdoc/classes/Mongrel/Configurator.src/M000102.html +0 -32
  245. data/doc/rdoc/classes/Mongrel/Configurator.src/M000103.html +0 -19
  246. data/doc/rdoc/classes/Mongrel/Configurator.src/M000104.html +0 -31
  247. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000062.html +0 -40
  248. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000063.html +0 -18
  249. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000118.html +0 -28
  250. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +0 -26
  251. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000070.html +0 -22
  252. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000071.html +0 -18
  253. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000044.html +0 -32
  254. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000046.html +0 -48
  255. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000047.html +0 -23
  256. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000085.html +0 -18
  257. data/doc/rdoc/classes/ObjectTracker.src/M000016.html +0 -22
  258. data/doc/rdoc/classes/ObjectTracker.src/M000017.html +0 -18
  259. data/doc/rdoc/classes/ObjectTracker.src/M000018.html +0 -18
  260. data/doc/rdoc/classes/ObjectTracker.src/M000019.html +0 -44
  261. data/doc/rdoc/classes/Stats.src/M000014.html +0 -19
  262. data/doc/rdoc/classes/Stats.src/M000015.html +0 -20
  263. data/doc/rdoc/classes/TCPServer.src/M000007.html +0 -19
  264. data/lib/mongrel/#rails.rb# +0 -178
@@ -5,16 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>start (Mongrel::HttpResponse)</title>
8
+ <title>new (Mongrel::HttpResponse)</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.rb, line 282</span>
14
- 282: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">status</span>=<span class="ruby-value">200</span>, <span class="ruby-identifier">finalize</span>=<span class="ruby-keyword kw">false</span>)
15
- 283: <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">status</span>.<span class="ruby-identifier">to_i</span>
16
- 284: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@header</span>, <span class="ruby-ivar">@body</span>
17
- 285: <span class="ruby-identifier">finished</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">finalize</span>
18
- 286: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 333</span>
14
+ 333: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">socket</span>)
15
+ 334: <span class="ruby-ivar">@socket</span> = <span class="ruby-identifier">socket</span>
16
+ 335: <span class="ruby-ivar">@body</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
17
+ 336: <span class="ruby-ivar">@status</span> = <span class="ruby-value">404</span>
18
+ 337: <span class="ruby-ivar">@header</span> = <span class="ruby-constant">HeaderOut</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>)
19
+ 338: <span class="ruby-ivar">@header</span>[<span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">DATE</span>] = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">httpdate</span>
20
+ 339: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">false</span>
21
+ 340: <span class="ruby-ivar">@header_sent</span> = <span class="ruby-keyword kw">false</span>
22
+ 341: <span class="ruby-ivar">@status_sent</span> = <span class="ruby-keyword kw">false</span>
23
+ 342: <span class="ruby-keyword kw">end</span></pre>
19
24
  </body>
20
25
  </html>
@@ -5,21 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>reset (Mongrel::HttpResponse)</title>
8
+ <title>start (Mongrel::HttpResponse)</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.rb, line 291</span>
14
- 291: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
15
- 292: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@body_sent</span>
16
- 293: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;You have already sent the request body.&quot;</span>
17
- 294: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@header_sent</span>
18
- 295: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;You have already sent the request headers.&quot;</span>
19
- 296: <span class="ruby-keyword kw">else</span>
20
- 297: <span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">rewind</span>
21
- 298: <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">rewind</span>
22
- 299: <span class="ruby-keyword kw">end</span>
23
- 300: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 352</span>
14
+ 352: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">status</span>=<span class="ruby-value">200</span>, <span class="ruby-identifier">finalize</span>=<span class="ruby-keyword kw">false</span>)
15
+ 353: <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">status</span>.<span class="ruby-identifier">to_i</span>
16
+ 354: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@header</span>, <span class="ruby-ivar">@body</span>
17
+ 355: <span class="ruby-identifier">finished</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">finalize</span>
18
+ 356: <span class="ruby-keyword kw">end</span></pre>
24
19
  </body>
25
20
  </html>
@@ -5,18 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>send_status (Mongrel::HttpResponse)</title>
8
+ <title>reset (Mongrel::HttpResponse)</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.rb, line 302</span>
14
- 302: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_status</span>(<span class="ruby-identifier">content_length</span>=<span class="ruby-keyword kw">nil</span>)
15
- 303: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@status_sent</span>
16
- 304: <span class="ruby-identifier">content_length</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">length</span>
17
- 305: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">write</span>(<span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">STATUS_FORMAT</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">status</span>, <span class="ruby-constant">HTTP_STATUS_CODES</span>[<span class="ruby-ivar">@status</span>], <span class="ruby-identifier">content_length</span>])
18
- 306: <span class="ruby-ivar">@status_sent</span> = <span class="ruby-keyword kw">true</span>
19
- 307: <span class="ruby-keyword kw">end</span>
20
- 308: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 361</span>
14
+ 361: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
15
+ 362: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@body_sent</span>
16
+ 363: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;You have already sent the request body.&quot;</span>
17
+ 364: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@header_sent</span>
18
+ 365: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;You have already sent the request headers.&quot;</span>
19
+ 366: <span class="ruby-keyword kw">else</span>
20
+ 367: <span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">rewind</span>
21
+ 368: <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">rewind</span>
22
+ 369: <span class="ruby-keyword kw">end</span>
23
+ 370: <span class="ruby-keyword kw">end</span></pre>
21
24
  </body>
22
25
  </html>
@@ -5,18 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>send_header (Mongrel::HttpResponse)</title>
8
+ <title>send_status (Mongrel::HttpResponse)</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.rb, line 310</span>
14
- 310: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_header</span>
15
- 311: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@header_sent</span>
16
- 312: <span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">rewind</span>
17
- 313: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">write</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">read</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">LINE_END</span>)
18
- 314: <span class="ruby-ivar">@header_sent</span> = <span class="ruby-keyword kw">true</span>
19
- 315: <span class="ruby-keyword kw">end</span>
20
- 316: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 372</span>
14
+ 372: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_status</span>(<span class="ruby-identifier">content_length</span>=<span class="ruby-keyword kw">nil</span>)
15
+ 373: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@status_sent</span>
16
+ 374: <span class="ruby-identifier">content_length</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">length</span>
17
+ 375: <span class="ruby-identifier">write</span>(<span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">STATUS_FORMAT</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">status</span>, <span class="ruby-constant">HTTP_STATUS_CODES</span>[<span class="ruby-ivar">@status</span>], <span class="ruby-identifier">content_length</span>])
18
+ 376: <span class="ruby-ivar">@status_sent</span> = <span class="ruby-keyword kw">true</span>
19
+ 377: <span class="ruby-keyword kw">end</span>
20
+ 378: <span class="ruby-keyword kw">end</span></pre>
21
21
  </body>
22
22
  </html>
@@ -5,19 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>send_body (Mongrel::HttpResponse)</title>
8
+ <title>send_header (Mongrel::HttpResponse)</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.rb, line 318</span>
14
- 318: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_body</span>
15
- 319: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@body_sent</span>
16
- 320: <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">rewind</span>
17
- 321: <span class="ruby-comment cmt"># connection: close is also added to ensure that the client does not pipeline.</span>
18
- 322: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">write</span>(<span class="ruby-ivar">@body</span>.<span class="ruby-identifier">read</span>)
19
- 323: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">true</span>
20
- 324: <span class="ruby-keyword kw">end</span>
21
- 325: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 380</span>
14
+ 380: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_header</span>
15
+ 381: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@header_sent</span>
16
+ 382: <span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">rewind</span>
17
+ 383: <span class="ruby-identifier">write</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">read</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">LINE_END</span>)
18
+ 384: <span class="ruby-ivar">@header_sent</span> = <span class="ruby-keyword kw">true</span>
19
+ 385: <span class="ruby-keyword kw">end</span>
20
+ 386: <span class="ruby-keyword kw">end</span></pre>
22
21
  </body>
23
22
  </html>
@@ -5,14 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>write (Mongrel::HttpResponse)</title>
8
+ <title>send_body (Mongrel::HttpResponse)</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.rb, line 327</span>
14
- 327: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
15
- 328: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
16
- 329: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 388</span>
14
+ 388: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_body</span>
15
+ 389: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@body_sent</span>
16
+ 390: <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">rewind</span>
17
+ 391: <span class="ruby-identifier">write</span>(<span class="ruby-ivar">@body</span>.<span class="ruby-identifier">read</span>)
18
+ 392: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">true</span>
19
+ 393: <span class="ruby-keyword kw">end</span>
20
+ 394: <span class="ruby-keyword kw">end</span></pre>
17
21
  </body>
18
22
  </html>
@@ -5,16 +5,27 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>finished (Mongrel::HttpResponse)</title>
8
+ <title>send_file (Mongrel::HttpResponse)</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.rb, line 333</span>
14
- 333: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">finished</span>
15
- 334: <span class="ruby-identifier">send_status</span>
16
- 335: <span class="ruby-identifier">send_header</span>
17
- 336: <span class="ruby-identifier">send_body</span>
18
- 337: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 404</span>
14
+ 404: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_file</span>(<span class="ruby-identifier">path</span>)
15
+ 405: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span>, <span class="ruby-value str">&quot;rb&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
16
+ 406: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:sendfile</span>
17
+ 407: <span class="ruby-keyword kw">begin</span>
18
+ 408: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">sendfile</span>(<span class="ruby-identifier">f</span>)
19
+ 409: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">details</span>
20
+ 410: <span class="ruby-identifier">socket_error</span>(<span class="ruby-identifier">details</span>)
21
+ 411: <span class="ruby-keyword kw">end</span>
22
+ 412: <span class="ruby-keyword kw">else</span>
23
+ 413: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">chunk</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">CHUNK_SIZE</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">chunk</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
24
+ 414: <span class="ruby-identifier">write</span>(<span class="ruby-identifier">chunk</span>)
25
+ 415: <span class="ruby-keyword kw">end</span>
26
+ 416: <span class="ruby-keyword kw">end</span>
27
+ 417: <span class="ruby-ivar">@body_send</span> = <span class="ruby-keyword kw">true</span>
28
+ 418: <span class="ruby-keyword kw">end</span>
29
+ 419: <span class="ruby-keyword kw">end</span></pre>
19
30
  </body>
20
31
  </html>
@@ -5,14 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>done (Mongrel::HttpResponse)</title>
8
+ <title>socket_error (Mongrel::HttpResponse)</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.rb, line 339</span>
14
- 339: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done</span>
15
- 340: (<span class="ruby-ivar">@status_sent</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@header_sent</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@body_sent</span>)
16
- 341: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 421</span>
14
+ 421: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">socket_error</span>(<span class="ruby-identifier">details</span>)
15
+ 422: <span class="ruby-comment cmt"># ignore these since it means the client closed off early</span>
16
+ 423: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">closed?</span>
17
+ 424: <span class="ruby-identifier">done</span> = <span class="ruby-keyword kw">true</span>
18
+ 425: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">details</span>
19
+ 426: <span class="ruby-keyword kw">end</span></pre>
17
20
  </body>
18
21
  </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>write (Mongrel::HttpResponse)</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.rb, line 428</span>
14
+ 428: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
15
+ 429: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
16
+ 430: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">details</span>
17
+ 431: <span class="ruby-identifier">socket_error</span>(<span class="ruby-identifier">details</span>)
18
+ 432: <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -5,14 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>unregister (Mongrel::HttpServer)</title>
8
+ <title>finished (Mongrel::HttpResponse)</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.rb, line 533</span>
14
- 533: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unregister</span>(<span class="ruby-identifier">uri</span>)
15
- 534: <span class="ruby-ivar">@classifier</span>.<span class="ruby-identifier">unregister</span>(<span class="ruby-identifier">uri</span>)
16
- 535: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 436</span>
14
+ 436: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">finished</span>
15
+ 437: <span class="ruby-identifier">send_status</span>
16
+ 438: <span class="ruby-identifier">send_header</span>
17
+ 439: <span class="ruby-identifier">send_body</span>
18
+ 440: <span class="ruby-keyword kw">end</span></pre>
17
19
  </body>
18
20
  </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>done= (Mongrel::HttpResponse)</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.rb, line 444</span>
14
+ 444: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done=</span>(<span class="ruby-identifier">val</span>)
15
+ 445: <span class="ruby-ivar">@status_sent</span> = <span class="ruby-keyword kw">true</span>
16
+ 446: <span class="ruby-ivar">@header_sent</span> = <span class="ruby-keyword kw">true</span>
17
+ 447: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">true</span>
18
+ 448: <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>resolve_defaults (Mongrel::Configurator)</title>
8
+ <title>done (Mongrel::HttpResponse)</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.rb, line 611</span>
14
- 611: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_defaults</span>(<span class="ruby-identifier">options</span>)
15
- 612: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-ivar">@defaults</span>)
16
- 613: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 450</span>
14
+ 450: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done</span>
15
+ 451: (<span class="ruby-ivar">@status_sent</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@header_sent</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@body_sent</span>)
16
+ 452: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -85,7 +85,7 @@ Mognrel::HttpParser and <a
85
85
  href="URIClassifier.html">Mongrel::URIClassifier</a> make up the majority
86
86
  of how the server functions. It&#8217;s a very simple class that just has a
87
87
  thread accepting connections and a simple <a
88
- href="HttpServer.html#M000065">HttpServer.process_client</a> function to do
88
+ href="HttpServer.html#M000063">HttpServer.process_client</a> function to do
89
89
  the heavy lifting with the <a href="../IO.html">IO</a> and Ruby.
90
90
  </p>
91
91
  <p>
@@ -93,7 +93,7 @@ You use it by doing the following:
93
93
  </p>
94
94
  <pre>
95
95
  server = HttpServer.new(&quot;0.0.0.0&quot;, 3000)
96
- server.register(&quot;/stuff&quot;, MyNifterHandler.new)
96
+ server.register(&quot;/stuff&quot;, MyNiftyHandler.new)
97
97
  server.run.join
98
98
  </pre>
99
99
  <p>
@@ -119,14 +119,13 @@ ways to make threads faster, but don&#8217;t hold your breath until Ruby
119
119
  <h3 class="section-bar">Methods</h3>
120
120
 
121
121
  <div class="name-list">
122
- <a href="#M000071">httpdate</a>&nbsp;&nbsp;
123
- <a href="#M000064">new</a>&nbsp;&nbsp;
124
- <a href="#M000065">process_client</a>&nbsp;&nbsp;
125
- <a href="#M000066">reap_dead_workers</a>&nbsp;&nbsp;
126
- <a href="#M000068">register</a>&nbsp;&nbsp;
127
- <a href="#M000067">run</a>&nbsp;&nbsp;
128
- <a href="#M000070">stop</a>&nbsp;&nbsp;
129
- <a href="#M000069">unregister</a>&nbsp;&nbsp;
122
+ <a href="#M000062">new</a>&nbsp;&nbsp;
123
+ <a href="#M000063">process_client</a>&nbsp;&nbsp;
124
+ <a href="#M000064">reap_dead_workers</a>&nbsp;&nbsp;
125
+ <a href="#M000066">register</a>&nbsp;&nbsp;
126
+ <a href="#M000065">run</a>&nbsp;&nbsp;
127
+ <a href="#M000068">stop</a>&nbsp;&nbsp;
128
+ <a href="#M000067">unregister</a>&nbsp;&nbsp;
130
129
  </div>
131
130
  </div>
132
131
 
@@ -156,6 +155,26 @@ ways to make threads faster, but don&#8217;t hold your breath until Ruby
156
155
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
157
156
  <td class="context-item-desc"></td>
158
157
  </tr>
158
+ <tr class="top-aligned-row context-row">
159
+ <td class="context-item-name">host</td>
160
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
161
+ <td class="context-item-desc"></td>
162
+ </tr>
163
+ <tr class="top-aligned-row context-row">
164
+ <td class="context-item-name">num_processors</td>
165
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
166
+ <td class="context-item-desc"></td>
167
+ </tr>
168
+ <tr class="top-aligned-row context-row">
169
+ <td class="context-item-name">port</td>
170
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
171
+ <td class="context-item-desc"></td>
172
+ </tr>
173
+ <tr class="top-aligned-row context-row">
174
+ <td class="context-item-name">timeout</td>
175
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
176
+ <td class="context-item-desc"></td>
177
+ </tr>
159
178
  <tr class="top-aligned-row context-row">
160
179
  <td class="context-item-name">workers</td>
161
180
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
@@ -171,30 +190,12 @@ ways to make threads faster, but don&#8217;t hold your breath until Ruby
171
190
  <div id="methods">
172
191
  <h3 class="section-bar">Public Class methods</h3>
173
192
 
174
- <div id="method-M000071" class="method-detail">
175
- <a name="M000071"></a>
176
-
177
- <div class="method-heading">
178
- <a href="HttpServer.src/M000071.html" target="Code" class="method-signature"
179
- onclick="popupCode('HttpServer.src/M000071.html');return false;">
180
- <span class="method-name">httpdate</span><span class="method-args">(date)</span>
181
- </a>
182
- </div>
183
-
184
- <div class="method-description">
185
- <p>
186
- Given the a time object it converts it to GMT and applies the RFC1123
187
- format to it.
188
- </p>
189
- </div>
190
- </div>
191
-
192
- <div id="method-M000064" class="method-detail">
193
- <a name="M000064"></a>
193
+ <div id="method-M000062" class="method-detail">
194
+ <a name="M000062"></a>
194
195
 
195
196
  <div class="method-heading">
196
- <a href="HttpServer.src/M000064.html" target="Code" class="method-signature"
197
- onclick="popupCode('HttpServer.src/M000064.html');return false;">
197
+ <a href="HttpServer.src/M000062.html" target="Code" class="method-signature"
198
+ onclick="popupCode('HttpServer.src/M000062.html');return false;">
198
199
  <span class="method-name">new</span><span class="method-args">(host, port, num_processors=(2**30-1), timeout=0)</span>
199
200
  </a>
200
201
  </div>
@@ -219,18 +220,22 @@ The timeout parameter is a sleep timeout (in hundredths of a second) that
219
220
  is placed between socket.accept calls in order to give the server a cheap
220
221
  throttle time. It defaults to 0 and actually if it is 0 then the sleep is
221
222
  not done at all.
223
+ </p>
224
+ <p>
225
+ TODO: Find out if anyone actually uses the timeout option since it seems to
226
+ cause problems on FBSD.
222
227
  </p>
223
228
  </div>
224
229
  </div>
225
230
 
226
231
  <h3 class="section-bar">Public Instance methods</h3>
227
232
 
228
- <div id="method-M000065" class="method-detail">
229
- <a name="M000065"></a>
233
+ <div id="method-M000063" class="method-detail">
234
+ <a name="M000063"></a>
230
235
 
231
236
  <div class="method-heading">
232
- <a href="HttpServer.src/M000065.html" target="Code" class="method-signature"
233
- onclick="popupCode('HttpServer.src/M000065.html');return false;">
237
+ <a href="HttpServer.src/M000063.html" target="Code" class="method-signature"
238
+ onclick="popupCode('HttpServer.src/M000063.html');return false;">
234
239
  <span class="method-name">process_client</span><span class="method-args">(client)</span>
235
240
  </a>
236
241
  </div>
@@ -247,12 +252,12 @@ make it faster is more than welcome to take a crack at it.
247
252
  </div>
248
253
  </div>
249
254
 
250
- <div id="method-M000066" class="method-detail">
251
- <a name="M000066"></a>
255
+ <div id="method-M000064" class="method-detail">
256
+ <a name="M000064"></a>
252
257
 
253
258
  <div class="method-heading">
254
- <a href="HttpServer.src/M000066.html" target="Code" class="method-signature"
255
- onclick="popupCode('HttpServer.src/M000066.html');return false;">
259
+ <a href="HttpServer.src/M000064.html" target="Code" class="method-signature"
260
+ onclick="popupCode('HttpServer.src/M000064.html');return false;">
256
261
  <span class="method-name">reap_dead_workers</span><span class="method-args">(worker_list)</span>
257
262
  </a>
258
263
  </div>
@@ -266,13 +271,13 @@ servicing.
266
271
  </div>
267
272
  </div>
268
273
 
269
- <div id="method-M000068" class="method-detail">
270
- <a name="M000068"></a>
274
+ <div id="method-M000066" class="method-detail">
275
+ <a name="M000066"></a>
271
276
 
272
277
  <div class="method-heading">
273
- <a href="HttpServer.src/M000068.html" target="Code" class="method-signature"
274
- onclick="popupCode('HttpServer.src/M000068.html');return false;">
275
- <span class="method-name">register</span><span class="method-args">(uri, handler)</span>
278
+ <a href="HttpServer.src/M000066.html" target="Code" class="method-signature"
279
+ onclick="popupCode('HttpServer.src/M000066.html');return false;">
280
+ <span class="method-name">register</span><span class="method-args">(uri, handler, in_front=false)</span>
276
281
  </a>
277
282
  </div>
278
283
 
@@ -282,18 +287,22 @@ Simply registers a handler with the internal <a
282
287
  href="URIClassifier.html">URIClassifier</a>. When the URI is found in the
283
288
  prefix of a request then your handler&#8217;s HttpHandler::process method
284
289
  is called. See <a
285
- href="URIClassifier.html#M000087">Mongrel::URIClassifier#register</a> for
290
+ href="URIClassifier.html#M000091">Mongrel::URIClassifier#register</a> for
286
291
  more information.
292
+ </p>
293
+ <p>
294
+ If you set in_front=true then the passed in handler will be put in front in
295
+ the list. Otherwise it&#8217;s placed at the end of the list.
287
296
  </p>
288
297
  </div>
289
298
  </div>
290
299
 
291
- <div id="method-M000067" class="method-detail">
292
- <a name="M000067"></a>
300
+ <div id="method-M000065" class="method-detail">
301
+ <a name="M000065"></a>
293
302
 
294
303
  <div class="method-heading">
295
- <a href="HttpServer.src/M000067.html" target="Code" class="method-signature"
296
- onclick="popupCode('HttpServer.src/M000067.html');return false;">
304
+ <a href="HttpServer.src/M000065.html" target="Code" class="method-signature"
305
+ onclick="popupCode('HttpServer.src/M000065.html');return false;">
297
306
  <span class="method-name">run</span><span class="method-args">()</span>
298
307
  </a>
299
308
  </div>
@@ -307,12 +316,12 @@ later.
307
316
  </div>
308
317
  </div>
309
318
 
310
- <div id="method-M000070" class="method-detail">
311
- <a name="M000070"></a>
319
+ <div id="method-M000068" class="method-detail">
320
+ <a name="M000068"></a>
312
321
 
313
322
  <div class="method-heading">
314
- <a href="HttpServer.src/M000070.html" target="Code" class="method-signature"
315
- onclick="popupCode('HttpServer.src/M000070.html');return false;">
323
+ <a href="HttpServer.src/M000068.html" target="Code" class="method-signature"
324
+ onclick="popupCode('HttpServer.src/M000068.html');return false;">
316
325
  <span class="method-name">stop</span><span class="method-args">()</span>
317
326
  </a>
318
327
  </div>
@@ -325,12 +334,12 @@ the request queue before finally exiting.
325
334
  </div>
326
335
  </div>
327
336
 
328
- <div id="method-M000069" class="method-detail">
329
- <a name="M000069"></a>
337
+ <div id="method-M000067" class="method-detail">
338
+ <a name="M000067"></a>
330
339
 
331
340
  <div class="method-heading">
332
- <a href="HttpServer.src/M000069.html" target="Code" class="method-signature"
333
- onclick="popupCode('HttpServer.src/M000069.html');return false;">
341
+ <a href="HttpServer.src/M000067.html" target="Code" class="method-signature"
342
+ onclick="popupCode('HttpServer.src/M000067.html');return false;">
334
343
  <span class="method-name">unregister</span><span class="method-args">(uri)</span>
335
344
  </a>
336
345
  </div>
@@ -338,7 +347,7 @@ the request queue before finally exiting.
338
347
  <div class="method-description">
339
348
  <p>
340
349
  Removes any handlers registered at the given URI. See <a
341
- href="URIClassifier.html#M000088">Mongrel::URIClassifier#unregister</a> for
350
+ href="URIClassifier.html#M000092">Mongrel::URIClassifier#unregister</a> for
342
351
  more information. Remember this removes them <b>all</b> so the entire
343
352
  processing chain goes away.
344
353
  </p>