mongrel 0.3.12.4 → 0.3.13

Sign up to get free protection for your applications and to get access to all the features.
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,14 +5,20 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>env_table (Mongrel::CGIWrapper)</title>
8
+ <title>new (Mongrel::CGIWrapper)</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/cgi.rb, line 146</span>
14
- 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">env_table</span>
15
- 147: <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">params</span>
16
- 148: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 52</span>
14
+ 52: <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
+ 53: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
16
+ 54: <span class="ruby-ivar">@response</span> = <span class="ruby-identifier">response</span>
17
+ 55: <span class="ruby-ivar">@args</span> = <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
18
+ 56: <span class="ruby-ivar">@input</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">body</span>
19
+ 57: <span class="ruby-ivar">@head</span> = {}
20
+ 58: <span class="ruby-ivar">@out_called</span> = <span class="ruby-keyword kw">false</span>
21
+ 59: <span class="ruby-keyword kw">super</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
22
+ 60: <span class="ruby-keyword kw">end</span></pre>
17
23
  </body>
18
24
  </html>
@@ -5,14 +5,43 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>stdinput (Mongrel::CGIWrapper)</title>
8
+ <title>header (Mongrel::CGIWrapper)</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/cgi.rb, line 151</span>
14
- 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stdinput</span>
15
- 152: <span class="ruby-ivar">@input</span>
16
- 153: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 69</span>
14
+ 69: <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
+ 70: <span class="ruby-comment cmt"># if they pass in a string then just write the Content-Type</span>
16
+ 71: <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
+ 72: <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
+ 73: <span class="ruby-keyword kw">else</span>
19
+ 74: <span class="ruby-comment cmt"># convert the given options into what Mongrel wants</span>
20
+ 75: <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
+ 76: <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
+ 77:
23
+ 78: <span class="ruby-comment cmt"># setup date only if they use nph</span>
24
+ 79: <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
+ 80:
26
+ 81: <span class="ruby-comment cmt"># setup the server to use the default or what they set</span>
27
+ 82: <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
+ 83:
29
+ 84: <span class="ruby-comment cmt"># remaining possible options they can give</span>
30
+ 85: <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
+ 86: <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
+ 87: <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
+ 88:
34
+ 89: <span class="ruby-comment cmt"># drop the keys we don't want anymore</span>
35
+ 90: <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
+ 91:
37
+ 92: <span class="ruby-comment cmt"># finally just convert the rest raw (which puts 'cookie' directly)</span>
38
+ 93: <span class="ruby-comment cmt"># 'cookie' is translated later as we write the header out</span>
39
+ 94: <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
+ 95: <span class="ruby-keyword kw">end</span>
41
+ 96:
42
+ 97: <span class="ruby-comment cmt"># doing this fakes out the cgi library to think the headers are empty</span>
43
+ 98: <span class="ruby-comment cmt"># we then do the real headers in the out function call later</span>
44
+ 99: <span class="ruby-value str">&quot;&quot;</span>
45
+ 100: <span class="ruby-keyword kw">end</span></pre>
17
46
  </body>
18
47
  </html>
@@ -5,15 +5,30 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>stdoutput (Mongrel::CGIWrapper)</title>
8
+ <title>send_cookies (Mongrel::CGIWrapper)</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/cgi.rb, line 156</span>
14
- 156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stdoutput</span>
15
- 157: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;WARNING: Your program is doing something not expected. Please tell Zed that stdoutput was used and what software you are running. Thanks.&quot;</span>
16
- 158: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">body</span>
17
- 159: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 107</span>
14
+ 107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_cookies</span>(<span class="ruby-identifier">to</span>)
15
+ 108: <span class="ruby-comment cmt"># convert the cookies based on the myriad of possible ways to set a cookie</span>
16
+ 109: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'cookie'</span>]
17
+ 110: <span class="ruby-identifier">cookie</span> = <span class="ruby-ivar">@head</span>[<span class="ruby-value str">'cookie'</span>]
18
+ 111: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">cookie</span>
19
+ 112: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Array</span>
20
+ 113: <span class="ruby-identifier">cookie</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">to</span>[<span class="ruby-value str">'Set-Cookie'</span>] = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span> }
21
+ 114: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Hash</span>
22
+ 115: <span class="ruby-identifier">cookie</span>.<span class="ruby-identifier">each_value</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">to</span>[<span class="ruby-value str">'Set-Cookie'</span>] = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span>}
23
+ 116: <span class="ruby-keyword kw">else</span>
24
+ 117: <span class="ruby-identifier">to</span>[<span class="ruby-value str">'Set-Cookie'</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value str">'cookie'</span>].<span class="ruby-identifier">to_s</span>
25
+ 118: <span class="ruby-keyword kw">end</span>
26
+ 119:
27
+ 120: <span class="ruby-ivar">@head</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">'cookie'</span>)
28
+ 121:
29
+ 122: <span class="ruby-comment cmt"># @output_cookies seems to never be used, but we'll process it just in case</span>
30
+ 123: <span class="ruby-ivar">@output_cookies</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">to</span>[<span class="ruby-value str">'Set-Cookie'</span>] = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span> } <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@output_cookies</span>
31
+ 124: <span class="ruby-keyword kw">end</span>
32
+ 125: <span class="ruby-keyword kw">end</span></pre>
18
33
  </body>
19
34
  </html>
@@ -10,18 +10,18 @@
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 113</span>
14
- 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">out</span>(<span class="ruby-identifier">options</span> = <span class="ruby-value str">&quot;text/html&quot;</span>)
15
- 114: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@out_called</span> <span class="ruby-comment cmt"># don't do this more than once</span>
16
- 115:
17
- 116: <span class="ruby-identifier">header</span>(<span class="ruby-identifier">options</span>)
18
- 117:
19
- 118: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">start</span> <span class="ruby-identifier">status</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">head</span>, <span class="ruby-identifier">out</span><span class="ruby-operator">|</span>
20
- 119: <span class="ruby-identifier">send_cookies</span>(<span class="ruby-identifier">head</span>)
21
- 120:
22
- 121: <span class="ruby-ivar">@head</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-identifier">head</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>}
23
- 122: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">write</span>(<span class="ruby-keyword kw">yield</span> <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;&quot;</span>)
24
- 123: <span class="ruby-keyword kw">end</span>
25
- 124: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 131</span>
14
+ 131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">out</span>(<span class="ruby-identifier">options</span> = <span class="ruby-value str">&quot;text/html&quot;</span>)
15
+ 132: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@out_called</span> <span class="ruby-comment cmt"># don't do this more than once</span>
16
+ 133:
17
+ 134: <span class="ruby-identifier">header</span>(<span class="ruby-identifier">options</span>)
18
+ 135:
19
+ 136: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">start</span> <span class="ruby-identifier">status</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">head</span>, <span class="ruby-identifier">out</span><span class="ruby-operator">|</span>
20
+ 137: <span class="ruby-identifier">send_cookies</span>(<span class="ruby-identifier">head</span>)
21
+ 138:
22
+ 139: <span class="ruby-ivar">@head</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-identifier">head</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>}
23
+ 140: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">write</span>(<span class="ruby-keyword kw">yield</span> <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;&quot;</span>)
24
+ 141: <span class="ruby-keyword kw">end</span>
25
+ 142: <span class="ruby-keyword kw">end</span></pre>
26
26
  </body>
27
27
  </html>
@@ -10,16 +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 129</span>
14
- 129: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">status</span>
15
- 130: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@status</span>
16
- 131: <span class="ruby-identifier">stat</span> = <span class="ruby-ivar">@head</span>[<span class="ruby-value str">&quot;Status&quot;</span>]
17
- 132: <span class="ruby-identifier">stat</span> = <span class="ruby-identifier">stat</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">' '</span>)[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stat</span>
18
- 133:
19
- 134: <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">stat</span> <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;200&quot;</span>
20
- 135: <span class="ruby-keyword kw">end</span>
21
- 136:
22
- 137: <span class="ruby-ivar">@status</span>
23
- 138: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 147</span>
14
+ 147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">status</span>
15
+ 148: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@status</span>
16
+ 149: <span class="ruby-identifier">stat</span> = <span class="ruby-ivar">@head</span>[<span class="ruby-value str">&quot;Status&quot;</span>]
17
+ 150: <span class="ruby-identifier">stat</span> = <span class="ruby-identifier">stat</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">' '</span>)[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stat</span>
18
+ 151:
19
+ 152: <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">stat</span> <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;200&quot;</span>
20
+ 153: <span class="ruby-keyword kw">end</span>
21
+ 154:
22
+ 155: <span class="ruby-ivar">@status</span>
23
+ 156: <span class="ruby-keyword kw">end</span></pre>
24
24
  </body>
25
25
  </html>
@@ -10,9 +10,9 @@
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 141</span>
14
- 141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">args</span>
15
- 142: <span class="ruby-ivar">@args</span>
16
- 143: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 159</span>
14
+ 159: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">args</span>
15
+ 160: <span class="ruby-ivar">@args</span>
16
+ 161: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>env_table (Mongrel::CGIWrapper)</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/cgi.rb, line 164</span>
14
+ 164: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">env_table</span>
15
+ 165: <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">params</span>
16
+ 166: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>uris (Mongrel::URIClassifier)</title>
8
+ <title>stdinput (Mongrel::CGIWrapper)</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 21</span>
14
- 21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">uris</span>
15
- 22: <span class="ruby-ivar">@handler_map</span>.<span class="ruby-identifier">keys</span>
16
- 23: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/cgi.rb, line 169</span>
14
+ 169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stdinput</span>
15
+ 170: <span class="ruby-ivar">@input</span>
16
+ 171: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -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>stdoutput (Mongrel::CGIWrapper)</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/cgi.rb, line 174</span>
14
+ 174: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stdoutput</span>
15
+ 175: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;WARNING: Your program is doing something not expected. Please tell Zed that stdoutput was used and what software you are running. Thanks.&quot;</span>
16
+ 176: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">body</span>
17
+ 177: <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -110,7 +110,7 @@ and it&#8217;s just annoying anyway.
110
110
  <h3 class="section-bar">Methods</h3>
111
111
 
112
112
  <div class="name-list">
113
- <a href="#M000048">start</a>&nbsp;&nbsp;
113
+ <a href="#M000046">start</a>&nbsp;&nbsp;
114
114
  </div>
115
115
  </div>
116
116
 
@@ -138,12 +138,12 @@ and it&#8217;s just annoying anyway.
138
138
  <div id="methods">
139
139
  <h3 class="section-bar">Public Class methods</h3>
140
140
 
141
- <div id="method-M000048" class="method-detail">
142
- <a name="M000048"></a>
141
+ <div id="method-M000046" class="method-detail">
142
+ <a name="M000046"></a>
143
143
 
144
144
  <div class="method-heading">
145
- <a href="Camping.src/M000048.html" target="Code" class="method-signature"
146
- onclick="popupCode('Camping.src/M000048.html');return false;">
145
+ <a href="Camping.src/M000046.html" target="Code" class="method-signature"
146
+ onclick="popupCode('Camping.src/M000046.html');return false;">
147
147
  <span class="method-name">start</span><span class="method-args">(server, port, uri, klass)</span>
148
148
  </a>
149
149
  </div>
@@ -0,0 +1,22 @@
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>start (Mongrel::Camping)</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/camping.rb, line 98</span>
14
+ 98: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Camping</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">server</span>, <span class="ruby-identifier">port</span>, <span class="ruby-identifier">uri</span>, <span class="ruby-identifier">klass</span>)
15
+ 99: <span class="ruby-identifier">h</span> = <span class="ruby-constant">Mongrel</span><span class="ruby-operator">::</span><span class="ruby-constant">HttpServer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">server</span>, <span class="ruby-identifier">port</span>)
16
+ 100: <span class="ruby-identifier">h</span>.<span class="ruby-identifier">register</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-constant">CampingHandler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">klass</span>))
17
+ 101: <span class="ruby-identifier">h</span>.<span class="ruby-identifier">register</span>(<span class="ruby-value str">&quot;/favicon.ico&quot;</span>, <span class="ruby-constant">Mongrel</span><span class="ruby-operator">::</span><span class="ruby-constant">Error404Handler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;&quot;</span>))
18
+ 102: <span class="ruby-identifier">h</span>.<span class="ruby-identifier">run</span>
19
+ 103: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">h</span>
20
+ 104: <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -97,8 +97,8 @@ href="../HttpResponse.html">Mongrel::HttpResponse</a> needs.
97
97
  <h3 class="section-bar">Methods</h3>
98
98
 
99
99
  <div class="name-list">
100
- <a href="#M000049">new</a>&nbsp;&nbsp;
101
- <a href="#M000050">process</a>&nbsp;&nbsp;
100
+ <a href="#M000047">new</a>&nbsp;&nbsp;
101
+ <a href="#M000048">process</a>&nbsp;&nbsp;
102
102
  </div>
103
103
  </div>
104
104
 
@@ -120,12 +120,12 @@ href="../HttpResponse.html">Mongrel::HttpResponse</a> needs.
120
120
  <div id="methods">
121
121
  <h3 class="section-bar">Public Class methods</h3>
122
122
 
123
- <div id="method-M000049" class="method-detail">
124
- <a name="M000049"></a>
123
+ <div id="method-M000047" class="method-detail">
124
+ <a name="M000047"></a>
125
125
 
126
126
  <div class="method-heading">
127
- <a href="CampingHandler.src/M000049.html" target="Code" class="method-signature"
128
- onclick="popupCode('CampingHandler.src/M000049.html');return false;">
127
+ <a href="CampingHandler.src/M000047.html" target="Code" class="method-signature"
128
+ onclick="popupCode('CampingHandler.src/M000047.html');return false;">
129
129
  <span class="method-name">new</span><span class="method-args">(klass)</span>
130
130
  </a>
131
131
  </div>
@@ -136,12 +136,12 @@ href="../HttpResponse.html">Mongrel::HttpResponse</a> needs.
136
136
 
137
137
  <h3 class="section-bar">Public Instance methods</h3>
138
138
 
139
- <div id="method-M000050" class="method-detail">
140
- <a name="M000050"></a>
139
+ <div id="method-M000048" class="method-detail">
140
+ <a name="M000048"></a>
141
141
 
142
142
  <div class="method-heading">
143
- <a href="CampingHandler.src/M000050.html" target="Code" class="method-signature"
144
- onclick="popupCode('CampingHandler.src/M000050.html');return false;">
143
+ <a href="CampingHandler.src/M000048.html" target="Code" class="method-signature"
144
+ onclick="popupCode('CampingHandler.src/M000048.html');return false;">
145
145
  <span class="method-name">process</span><span class="method-args">(request, response)</span>
146
146
  </a>
147
147
  </div>
@@ -10,9 +10,9 @@
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/camping.rb, line 30</span>
14
- 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">klass</span>)
15
- 31: <span class="ruby-ivar">@klass</span> = <span class="ruby-identifier">klass</span>
16
- 32: <span class="ruby-keyword kw">end</span></pre>
13
+ <pre> <span class="ruby-comment cmt"># File lib/mongrel/camping.rb, line 48</span>
14
+ 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">klass</span>)
15
+ 49: <span class="ruby-ivar">@klass</span> = <span class="ruby-identifier">klass</span>
16
+ 50: <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>process (Mongrel::Camping::CampingHandler)</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/camping.rb, line 52</span>
14
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">request</span>, <span class="ruby-identifier">response</span>)
15
+ 53: <span class="ruby-identifier">controller</span> = <span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">run</span>(<span class="ruby-identifier">request</span>.<span class="ruby-identifier">body</span>, <span class="ruby-identifier">request</span>.<span class="ruby-identifier">params</span>)
16
+ 54: <span class="ruby-identifier">sendfile</span>, <span class="ruby-identifier">clength</span> = <span class="ruby-keyword kw">nil</span>
17
+ 55: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">status</span>
18
+ 56: <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">headers</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
19
+ 57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^X-SENDFILE$/i</span>
20
+ 58: <span class="ruby-identifier">sendfile</span> = <span class="ruby-identifier">v</span>
21
+ 59: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^CONTENT-LENGTH$/i</span>
22
+ 60: <span class="ruby-identifier">clength</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_i</span>
23
+ 61: <span class="ruby-keyword kw">else</span>
24
+ 62: [<span class="ruby-operator">*</span><span class="ruby-identifier">v</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">vi</span><span class="ruby-operator">|</span>
25
+ 63: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">header</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">vi</span>
26
+ 64: <span class="ruby-keyword kw">end</span>
27
+ 65: <span class="ruby-keyword kw">end</span>
28
+ 66: <span class="ruby-keyword kw">end</span>
29
+ 67:
30
+ 68: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sendfile</span>
31
+ 69: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">send_status</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">size</span>(<span class="ruby-identifier">sendfile</span>))
32
+ 70: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">send_header</span>
33
+ 71: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">send_file</span>(<span class="ruby-identifier">sendfile</span>)
34
+ 72: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:read</span>
35
+ 73: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">send_status</span>(<span class="ruby-identifier">clength</span>)
36
+ 74: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">send_header</span>
37
+ 75: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">chunk</span> = <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">16384</span>)
38
+ 76: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">chunk</span>)
39
+ 77: <span class="ruby-keyword kw">end</span>
40
+ 78: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:close</span>
41
+ 79: <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">close</span>
42
+ 80: <span class="ruby-keyword kw">end</span>
43
+ 81: <span class="ruby-keyword kw">else</span>
44
+ 82: <span class="ruby-identifier">body</span> = <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">to_s</span>
45
+ 83: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">send_status</span>(<span class="ruby-identifier">body</span>.<span class="ruby-identifier">length</span>)
46
+ 84: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">send_header</span>
47
+ 85: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">body</span>)
48
+ 86: <span class="ruby-keyword kw">end</span>
49
+ 87: <span class="ruby-keyword kw">end</span></pre>
50
+ </body>
51
+ </html>
@@ -99,6 +99,19 @@ Class <a href="Command/Registry.html" class="link">Mongrel::Command::Registry</a
99
99
 
100
100
  </div>
101
101
 
102
+ <div id="constants-list">
103
+ <h3 class="section-bar">Constants</h3>
104
+
105
+ <div class="name-list">
106
+ <table summary="Constants">
107
+ <tr class="top-aligned-row context-row">
108
+ <td class="context-item-name">BANNER</td>
109
+ <td>=</td>
110
+ <td class="context-item-value">&quot;Usage: mongrel_rails &lt;command&gt; [options]&quot;</td>
111
+ </tr>
112
+ </table>
113
+ </div>
114
+ </div>
102
115
 
103
116
 
104
117
 
@@ -89,16 +89,19 @@ implement this interface to do the user&#8217;s bidding.
89
89
  <h3 class="section-bar">Methods</h3>
90
90
 
91
91
  <div class="name-list">
92
- <a href="#M000038">failure</a>&nbsp;&nbsp;
93
- <a href="#M000032">help</a>&nbsp;&nbsp;
94
- <a href="#M000030">new</a>&nbsp;&nbsp;
95
- <a href="#M000029">options</a>&nbsp;&nbsp;
96
- <a href="#M000033">run</a>&nbsp;&nbsp;
97
- <a href="#M000034">valid?</a>&nbsp;&nbsp;
98
- <a href="#M000037">valid_dir?</a>&nbsp;&nbsp;
99
- <a href="#M000035">valid_exists?</a>&nbsp;&nbsp;
100
- <a href="#M000036">valid_file?</a>&nbsp;&nbsp;
101
- <a href="#M000031">validate</a>&nbsp;&nbsp;
92
+ <a href="#M000026">configure</a>&nbsp;&nbsp;
93
+ <a href="#M000036">failure</a>&nbsp;&nbsp;
94
+ <a href="#M000028">help</a>&nbsp;&nbsp;
95
+ <a href="#M000025">new</a>&nbsp;&nbsp;
96
+ <a href="#M000024">options</a>&nbsp;&nbsp;
97
+ <a href="#M000029">run</a>&nbsp;&nbsp;
98
+ <a href="#M000030">valid?</a>&nbsp;&nbsp;
99
+ <a href="#M000033">valid_dir?</a>&nbsp;&nbsp;
100
+ <a href="#M000031">valid_exists?</a>&nbsp;&nbsp;
101
+ <a href="#M000032">valid_file?</a>&nbsp;&nbsp;
102
+ <a href="#M000035">valid_group?</a>&nbsp;&nbsp;
103
+ <a href="#M000034">valid_user?</a>&nbsp;&nbsp;
104
+ <a href="#M000027">validate</a>&nbsp;&nbsp;
102
105
  </div>
103
106
  </div>
104
107
 
@@ -143,12 +146,12 @@ implement this interface to do the user&#8217;s bidding.
143
146
  <div id="methods">
144
147
  <h3 class="section-bar">Public Class methods</h3>
145
148
 
146
- <div id="method-M000030" class="method-detail">
147
- <a name="M000030"></a>
149
+ <div id="method-M000025" class="method-detail">
150
+ <a name="M000025"></a>
148
151
 
149
152
  <div class="method-heading">
150
- <a href="Base.src/M000030.html" target="Code" class="method-signature"
151
- onclick="popupCode('Base.src/M000030.html');return false;">
153
+ <a href="Base.src/M000025.html" target="Code" class="method-signature"
154
+ onclick="popupCode('Base.src/M000025.html');return false;">
152
155
  <span class="method-name">new</span><span class="method-args">(options={})</span>
153
156
  </a>
154
157
  </div>
@@ -164,12 +167,26 @@ function.
164
167
 
165
168
  <h3 class="section-bar">Public Instance methods</h3>
166
169
 
167
- <div id="method-M000038" class="method-detail">
168
- <a name="M000038"></a>
170
+ <div id="method-M000026" class="method-detail">
171
+ <a name="M000026"></a>
169
172
 
170
173
  <div class="method-heading">
171
- <a href="Base.src/M000038.html" target="Code" class="method-signature"
172
- onclick="popupCode('Base.src/M000038.html');return false;">
174
+ <a href="Base.src/M000026.html" target="Code" class="method-signature"
175
+ onclick="popupCode('Base.src/M000026.html');return false;">
176
+ <span class="method-name">configure</span><span class="method-args">()</span>
177
+ </a>
178
+ </div>
179
+
180
+ <div class="method-description">
181
+ </div>
182
+ </div>
183
+
184
+ <div id="method-M000036" class="method-detail">
185
+ <a name="M000036"></a>
186
+
187
+ <div class="method-heading">
188
+ <a href="Base.src/M000036.html" target="Code" class="method-signature"
189
+ onclick="popupCode('Base.src/M000036.html');return false;">
173
190
  <span class="method-name">failure</span><span class="method-args">(message)</span>
174
191
  </a>
175
192
  </div>
@@ -182,12 +199,12 @@ developed.
182
199
  </div>
183
200
  </div>
184
201
 
185
- <div id="method-M000032" class="method-detail">
186
- <a name="M000032"></a>
202
+ <div id="method-M000028" class="method-detail">
203
+ <a name="M000028"></a>
187
204
 
188
205
  <div class="method-heading">
189
- <a href="Base.src/M000032.html" target="Code" class="method-signature"
190
- onclick="popupCode('Base.src/M000032.html');return false;">
206
+ <a href="Base.src/M000028.html" target="Code" class="method-signature"
207
+ onclick="popupCode('Base.src/M000028.html');return false;">
191
208
  <span class="method-name">help</span><span class="method-args">()</span>
192
209
  </a>
193
210
  </div>
@@ -199,12 +216,12 @@ Returns a help message. Defaults to OptionParser#help which should be good.
199
216
  </div>
200
217
  </div>
201
218
 
202
- <div id="method-M000029" class="method-detail">
203
- <a name="M000029"></a>
219
+ <div id="method-M000024" class="method-detail">
220
+ <a name="M000024"></a>
204
221
 
205
222
  <div class="method-heading">
206
- <a href="Base.src/M000029.html" target="Code" class="method-signature"
207
- onclick="popupCode('Base.src/M000029.html');return false;">
223
+ <a href="Base.src/M000024.html" target="Code" class="method-signature"
224
+ onclick="popupCode('Base.src/M000024.html');return false;">
208
225
  <span class="method-name">options</span><span class="method-args">(opts)</span>
209
226
  </a>
210
227
  </div>
@@ -218,12 +235,12 @@ set, and a default value. No exceptions.
218
235
  </div>
219
236
  </div>
220
237
 
221
- <div id="method-M000033" class="method-detail">
222
- <a name="M000033"></a>
238
+ <div id="method-M000029" class="method-detail">
239
+ <a name="M000029"></a>
223
240
 
224
241
  <div class="method-heading">
225
- <a href="Base.src/M000033.html" target="Code" class="method-signature"
226
- onclick="popupCode('Base.src/M000033.html');return false;">
242
+ <a href="Base.src/M000029.html" target="Code" class="method-signature"
243
+ onclick="popupCode('Base.src/M000029.html');return false;">
227
244
  <span class="method-name">run</span><span class="method-args">()</span>
228
245
  </a>
229
246
  </div>
@@ -236,12 +253,12 @@ it will throw a NotImplementedError as a reminder.
236
253
  </div>
237
254
  </div>
238
255
 
239
- <div id="method-M000034" class="method-detail">
240
- <a name="M000034"></a>
256
+ <div id="method-M000030" class="method-detail">
257
+ <a name="M000030"></a>
241
258
 
242
259
  <div class="method-heading">
243
- <a href="Base.src/M000034.html" target="Code" class="method-signature"
244
- onclick="popupCode('Base.src/M000034.html');return false;">
260
+ <a href="Base.src/M000030.html" target="Code" class="method-signature"
261
+ onclick="popupCode('Base.src/M000030.html');return false;">
245
262
  <span class="method-name">valid?</span><span class="method-args">(exp, message)</span>
246
263
  </a>
247
264
  </div>
@@ -254,12 +271,12 @@ exiting.
254
271
  </div>
255
272
  </div>
256
273
 
257
- <div id="method-M000037" class="method-detail">
258
- <a name="M000037"></a>
274
+ <div id="method-M000033" class="method-detail">
275
+ <a name="M000033"></a>
259
276
 
260
277
  <div class="method-heading">
261
- <a href="Base.src/M000037.html" target="Code" class="method-signature"
262
- onclick="popupCode('Base.src/M000037.html');return false;">
278
+ <a href="Base.src/M000033.html" target="Code" class="method-signature"
279
+ onclick="popupCode('Base.src/M000033.html');return false;">
263
280
  <span class="method-name">valid_dir?</span><span class="method-args">(file, message)</span>
264
281
  </a>
265
282
  </div>
@@ -271,12 +288,12 @@ Validates that the given directory exists
271
288
  </div>
272
289
  </div>
273
290
 
274
- <div id="method-M000035" class="method-detail">
275
- <a name="M000035"></a>
291
+ <div id="method-M000031" class="method-detail">
292
+ <a name="M000031"></a>
276
293
 
277
294
  <div class="method-heading">
278
- <a href="Base.src/M000035.html" target="Code" class="method-signature"
279
- onclick="popupCode('Base.src/M000035.html');return false;">
295
+ <a href="Base.src/M000031.html" target="Code" class="method-signature"
296
+ onclick="popupCode('Base.src/M000031.html');return false;">
280
297
  <span class="method-name">valid_exists?</span><span class="method-args">(file, message)</span>
281
298
  </a>
282
299
  </div>
@@ -288,12 +305,12 @@ Validates that a file exists and if not displays the message
288
305
  </div>
289
306
  </div>
290
307
 
291
- <div id="method-M000036" class="method-detail">
292
- <a name="M000036"></a>
308
+ <div id="method-M000032" class="method-detail">
309
+ <a name="M000032"></a>
293
310
 
294
311
  <div class="method-heading">
295
- <a href="Base.src/M000036.html" target="Code" class="method-signature"
296
- onclick="popupCode('Base.src/M000036.html');return false;">
312
+ <a href="Base.src/M000032.html" target="Code" class="method-signature"
313
+ onclick="popupCode('Base.src/M000032.html');return false;">
297
314
  <span class="method-name">valid_file?</span><span class="method-args">(file, message)</span>
298
315
  </a>
299
316
  </div>
@@ -305,12 +322,40 @@ Validates that the file is a file and not a directory or something else.
305
322
  </div>
306
323
  </div>
307
324
 
308
- <div id="method-M000031" class="method-detail">
309
- <a name="M000031"></a>
325
+ <div id="method-M000035" class="method-detail">
326
+ <a name="M000035"></a>
310
327
 
311
328
  <div class="method-heading">
312
- <a href="Base.src/M000031.html" target="Code" class="method-signature"
313
- onclick="popupCode('Base.src/M000031.html');return false;">
329
+ <a href="Base.src/M000035.html" target="Code" class="method-signature"
330
+ onclick="popupCode('Base.src/M000035.html');return false;">
331
+ <span class="method-name">valid_group?</span><span class="method-args">(group)</span>
332
+ </a>
333
+ </div>
334
+
335
+ <div class="method-description">
336
+ </div>
337
+ </div>
338
+
339
+ <div id="method-M000034" class="method-detail">
340
+ <a name="M000034"></a>
341
+
342
+ <div class="method-heading">
343
+ <a href="Base.src/M000034.html" target="Code" class="method-signature"
344
+ onclick="popupCode('Base.src/M000034.html');return false;">
345
+ <span class="method-name">valid_user?</span><span class="method-args">(user)</span>
346
+ </a>
347
+ </div>
348
+
349
+ <div class="method-description">
350
+ </div>
351
+ </div>
352
+
353
+ <div id="method-M000027" class="method-detail">
354
+ <a name="M000027"></a>
355
+
356
+ <div class="method-heading">
357
+ <a href="Base.src/M000027.html" target="Code" class="method-signature"
358
+ onclick="popupCode('Base.src/M000027.html');return false;">
314
359
  <span class="method-name">validate</span><span class="method-args">()</span>
315
360
  </a>
316
361
  </div>