mongrel 1.0.1 → 1.0.2

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 (263) hide show
  1. data.tar.gz.sig +2 -0
  2. data/CHANGELOG +2 -0
  3. data/Manifest +68 -0
  4. data/bin/mongrel_rails +55 -22
  5. data/examples/camping/README +3 -0
  6. data/examples/httpd.conf +474 -0
  7. data/examples/mime.yaml +3 -0
  8. data/examples/mongrel.conf +9 -0
  9. data/examples/monitrc +57 -0
  10. data/ext/http11/http11.c +25 -12
  11. data/ext/http11/http11_parser.c +456 -331
  12. data/ext/http11/http11_parser.h +1 -0
  13. data/ext/http11/http11_parser.java.rl +170 -0
  14. data/ext/http11/http11_parser.rl +8 -48
  15. data/ext/http11/http11_parser_common.rl +54 -0
  16. data/ext/http11/tst.h +2 -2
  17. data/ext/http11/tst_cleanup.c +0 -1
  18. data/ext/http11/tst_insert.c +29 -3
  19. data/ext/http11/tst_search.c +60 -55
  20. data/lib/mongrel.rb +68 -53
  21. data/lib/mongrel/cgi.rb +3 -3
  22. data/lib/mongrel/command.rb +1 -1
  23. data/lib/mongrel/configurator.rb +41 -31
  24. data/lib/mongrel/debug.rb +2 -5
  25. data/lib/mongrel/handlers.rb +23 -9
  26. data/lib/mongrel/mime_types.yml +2 -1
  27. data/lib/mongrel/rails.rb +7 -15
  28. data/mongrel-public_cert.pem +20 -0
  29. data/mongrel.gemspec +211 -0
  30. data/test/jruby_socket.rb +39 -0
  31. data/test/test_cgi_wrapper.rb +26 -0
  32. data/test/test_command.rb +1 -4
  33. data/test/test_conditional.rb +6 -18
  34. data/test/test_configurator.rb +5 -8
  35. data/test/test_debug.rb +3 -11
  36. data/test/test_handlers.rb +8 -10
  37. data/test/test_http11.rb +24 -5
  38. data/test/test_redirect_handler.rb +2 -6
  39. data/test/test_request_progress.rb +5 -9
  40. data/test/test_response.rb +24 -3
  41. data/test/test_stats.rb +1 -3
  42. data/test/test_uriclassifier.rb +170 -81
  43. data/test/test_ws.rb +25 -24
  44. data/test/testhelp.rb +26 -3
  45. data/tools/trickletest.rb +2 -2
  46. metadata +138 -333
  47. metadata.gz.sig +0 -0
  48. data/Rakefile +0 -117
  49. data/doc/rdoc/classes/IO.html +0 -170
  50. data/doc/rdoc/classes/IO.src/M000003.html +0 -19
  51. data/doc/rdoc/classes/IO.src/M000004.html +0 -19
  52. data/doc/rdoc/classes/Kernel.html +0 -159
  53. data/doc/rdoc/classes/Kernel.src/M000012.html +0 -19
  54. data/doc/rdoc/classes/Kernel.src/M000013.html +0 -23
  55. data/doc/rdoc/classes/Mongrel.html +0 -204
  56. data/doc/rdoc/classes/Mongrel/CGIWrapper.html +0 -404
  57. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html +0 -25
  58. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000116.html +0 -47
  59. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000117.html +0 -34
  60. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000118.html +0 -32
  61. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000119.html +0 -25
  62. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000120.html +0 -18
  63. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000121.html +0 -18
  64. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000122.html +0 -18
  65. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000123.html +0 -19
  66. data/doc/rdoc/classes/Mongrel/Camping.html +0 -177
  67. data/doc/rdoc/classes/Mongrel/Camping.src/M000041.html +0 -22
  68. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +0 -184
  69. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000042.html +0 -20
  70. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000043.html +0 -58
  71. data/doc/rdoc/classes/Mongrel/Command.html +0 -132
  72. data/doc/rdoc/classes/Mongrel/Command/Base.html +0 -384
  73. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html +0 -24
  74. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000019.html +0 -42
  75. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000020.html +0 -18
  76. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000021.html +0 -18
  77. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000022.html +0 -18
  78. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000023.html +0 -18
  79. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000024.html +0 -22
  80. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000025.html +0 -18
  81. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +0 -18
  82. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +0 -18
  83. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +0 -24
  84. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html +0 -24
  85. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html +0 -18
  86. data/doc/rdoc/classes/Mongrel/Command/Registry.html +0 -192
  87. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html +0 -20
  88. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000032.html +0 -29
  89. data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000033.html +0 -58
  90. data/doc/rdoc/classes/Mongrel/Configurator.html +0 -716
  91. data/doc/rdoc/classes/Mongrel/Configurator.src/M000093.html +0 -27
  92. data/doc/rdoc/classes/Mongrel/Configurator.src/M000094.html +0 -31
  93. data/doc/rdoc/classes/Mongrel/Configurator.src/M000095.html +0 -18
  94. data/doc/rdoc/classes/Mongrel/Configurator.src/M000096.html +0 -21
  95. data/doc/rdoc/classes/Mongrel/Configurator.src/M000097.html +0 -20
  96. data/doc/rdoc/classes/Mongrel/Configurator.src/M000098.html +0 -23
  97. data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +0 -18
  98. data/doc/rdoc/classes/Mongrel/Configurator.src/M000100.html +0 -38
  99. data/doc/rdoc/classes/Mongrel/Configurator.src/M000101.html +0 -19
  100. data/doc/rdoc/classes/Mongrel/Configurator.src/M000102.html +0 -39
  101. data/doc/rdoc/classes/Mongrel/Configurator.src/M000103.html +0 -33
  102. data/doc/rdoc/classes/Mongrel/Configurator.src/M000104.html +0 -18
  103. data/doc/rdoc/classes/Mongrel/Configurator.src/M000105.html +0 -24
  104. data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +0 -19
  105. data/doc/rdoc/classes/Mongrel/Configurator.src/M000107.html +0 -18
  106. data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +0 -22
  107. data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +0 -22
  108. data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +0 -18
  109. data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +0 -34
  110. data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +0 -18
  111. data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +0 -36
  112. data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +0 -18
  113. data/doc/rdoc/classes/Mongrel/Const.html +0 -337
  114. data/doc/rdoc/classes/Mongrel/DeflateFilter.html +0 -188
  115. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000124.html +0 -19
  116. data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000125.html +0 -23
  117. data/doc/rdoc/classes/Mongrel/DirHandler.html +0 -303
  118. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000051.html +0 -21
  119. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html +0 -42
  120. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000053.html +0 -38
  121. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000054.html +0 -65
  122. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000055.html +0 -39
  123. data/doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html +0 -18
  124. data/doc/rdoc/classes/Mongrel/Error404Handler.html +0 -171
  125. data/doc/rdoc/classes/Mongrel/Error404Handler.src/M000126.html +0 -18
  126. data/doc/rdoc/classes/Mongrel/Error404Handler.src/M000127.html +0 -18
  127. data/doc/rdoc/classes/Mongrel/HeaderOut.html +0 -190
  128. data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000066.html +0 -21
  129. data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000067.html +0 -21
  130. data/doc/rdoc/classes/Mongrel/HttpHandler.html +0 -215
  131. data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000072.html +0 -17
  132. data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000073.html +0 -17
  133. data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000074.html +0 -17
  134. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +0 -210
  135. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000014.html +0 -17
  136. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000015.html +0 -17
  137. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000016.html +0 -19
  138. data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000017.html +0 -17
  139. data/doc/rdoc/classes/Mongrel/HttpParams.html +0 -131
  140. data/doc/rdoc/classes/Mongrel/HttpParser.html +0 -278
  141. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000044.html +0 -28
  142. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000045.html +0 -29
  143. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000046.html +0 -29
  144. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000047.html +0 -59
  145. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000048.html +0 -27
  146. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000049.html +0 -27
  147. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000050.html +0 -28
  148. data/doc/rdoc/classes/Mongrel/HttpParserError.html +0 -111
  149. data/doc/rdoc/classes/Mongrel/HttpRequest.html +0 -284
  150. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000133.html +0 -50
  151. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000134.html +0 -41
  152. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000135.html +0 -29
  153. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000136.html +0 -20
  154. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000137.html +0 -20
  155. data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html +0 -32
  156. data/doc/rdoc/classes/Mongrel/HttpResponse.html +0 -443
  157. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +0 -25
  158. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +0 -20
  159. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html +0 -26
  160. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html +0 -22
  161. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +0 -22
  162. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000080.html +0 -22
  163. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +0 -31
  164. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +0 -21
  165. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +0 -20
  166. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +0 -20
  167. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000085.html +0 -20
  168. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html +0 -18
  169. data/doc/rdoc/classes/Mongrel/HttpServer.html +0 -402
  170. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000057.html +0 -25
  171. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000058.html +0 -100
  172. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html +0 -32
  173. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html +0 -21
  174. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000061.html +0 -29
  175. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html +0 -65
  176. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html +0 -34
  177. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000064.html +0 -18
  178. data/doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html +0 -22
  179. data/doc/rdoc/classes/Mongrel/Rails.html +0 -112
  180. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +0 -225
  181. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000034.html +0 -37
  182. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000035.html +0 -25
  183. data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000036.html +0 -26
  184. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +0 -263
  185. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html +0 -23
  186. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html +0 -56
  187. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000039.html +0 -20
  188. data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000040.html +0 -25
  189. data/doc/rdoc/classes/Mongrel/RedirectHandler.html +0 -187
  190. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/M000131.html +0 -22
  191. data/doc/rdoc/classes/Mongrel/RedirectHandler.src/M000132.html +0 -27
  192. data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +0 -211
  193. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000128.html +0 -24
  194. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000129.html +0 -24
  195. data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000130.html +0 -18
  196. data/doc/rdoc/classes/Mongrel/Stats.html +0 -309
  197. data/doc/rdoc/classes/Mongrel/Stats.src/M000139.html +0 -19
  198. data/doc/rdoc/classes/Mongrel/Stats.src/M000140.html +0 -23
  199. data/doc/rdoc/classes/Mongrel/Stats.src/M000141.html +0 -26
  200. data/doc/rdoc/classes/Mongrel/Stats.src/M000142.html +0 -18
  201. data/doc/rdoc/classes/Mongrel/Stats.src/M000143.html +0 -18
  202. data/doc/rdoc/classes/Mongrel/Stats.src/M000144.html +0 -18
  203. data/doc/rdoc/classes/Mongrel/Stats.src/M000145.html +0 -23
  204. data/doc/rdoc/classes/Mongrel/Stats.src/M000146.html +0 -20
  205. data/doc/rdoc/classes/Mongrel/StatusHandler.html +0 -194
  206. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000068.html +0 -18
  207. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000069.html +0 -24
  208. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000070.html +0 -42
  209. data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html +0 -20
  210. data/doc/rdoc/classes/Mongrel/StopServer.html +0 -117
  211. data/doc/rdoc/classes/Mongrel/TimeoutError.html +0 -117
  212. data/doc/rdoc/classes/Mongrel/URIClassifier.html +0 -317
  213. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000087.html +0 -18
  214. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html +0 -18
  215. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html +0 -39
  216. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000090.html +0 -51
  217. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000091.html +0 -36
  218. data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html +0 -83
  219. data/doc/rdoc/classes/MongrelDbg.html +0 -209
  220. data/doc/rdoc/classes/MongrelDbg.src/M000007.html +0 -24
  221. data/doc/rdoc/classes/MongrelDbg.src/M000008.html +0 -20
  222. data/doc/rdoc/classes/MongrelDbg.src/M000009.html +0 -22
  223. data/doc/rdoc/classes/MongrelDbg.src/M000010.html +0 -21
  224. data/doc/rdoc/classes/MongrelDbg.src/M000011.html +0 -18
  225. data/doc/rdoc/classes/Mutex.html +0 -158
  226. data/doc/rdoc/classes/Mutex.src/M000001.html +0 -24
  227. data/doc/rdoc/classes/Mutex.src/M000002.html +0 -32
  228. data/doc/rdoc/classes/RequestLog.html +0 -115
  229. data/doc/rdoc/classes/RequestLog/Access.html +0 -151
  230. data/doc/rdoc/classes/RequestLog/Access.src/M000147.html +0 -19
  231. data/doc/rdoc/classes/RequestLog/Files.html +0 -144
  232. data/doc/rdoc/classes/RequestLog/Files.src/M000148.html +0 -19
  233. data/doc/rdoc/classes/RequestLog/Objects.html +0 -150
  234. data/doc/rdoc/classes/RequestLog/Objects.src/M000150.html +0 -51
  235. data/doc/rdoc/classes/RequestLog/Params.html +0 -144
  236. data/doc/rdoc/classes/RequestLog/Params.src/M000151.html +0 -19
  237. data/doc/rdoc/classes/RequestLog/Threads.html +0 -144
  238. data/doc/rdoc/classes/RequestLog/Threads.src/M000149.html +0 -34
  239. data/doc/rdoc/classes/TCPServer.html +0 -173
  240. data/doc/rdoc/classes/TCPServer.src/M000005.html +0 -19
  241. data/doc/rdoc/created.rid +0 -1
  242. data/doc/rdoc/files/COPYING.html +0 -168
  243. data/doc/rdoc/files/LICENSE.html +0 -168
  244. data/doc/rdoc/files/README.html +0 -213
  245. data/doc/rdoc/files/ext/http11/http11_c.html +0 -101
  246. data/doc/rdoc/files/lib/mongrel/camping_rb.html +0 -120
  247. data/doc/rdoc/files/lib/mongrel/cgi_rb.html +0 -120
  248. data/doc/rdoc/files/lib/mongrel/command_rb.html +0 -123
  249. data/doc/rdoc/files/lib/mongrel/configurator_rb.html +0 -111
  250. data/doc/rdoc/files/lib/mongrel/debug_rb.html +0 -122
  251. data/doc/rdoc/files/lib/mongrel/handlers_rb.html +0 -122
  252. data/doc/rdoc/files/lib/mongrel/init_rb.html +0 -121
  253. data/doc/rdoc/files/lib/mongrel/rails_rb.html +0 -123
  254. data/doc/rdoc/files/lib/mongrel/stats_rb.html +0 -113
  255. data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +0 -113
  256. data/doc/rdoc/files/lib/mongrel_rb.html +0 -135
  257. data/doc/rdoc/files/lib/mutex_fix_rb.html +0 -108
  258. data/doc/rdoc/fr_class_index.html +0 -68
  259. data/doc/rdoc/fr_file_index.html +0 -42
  260. data/doc/rdoc/fr_method_index.html +0 -177
  261. data/doc/rdoc/index.html +0 -24
  262. data/doc/rdoc/rdoc-style.css +0 -208
  263. data/tools/rakehelp.rb +0 -117
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>open (Kernel)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/mongrel/debug.rb, line 79</span>
14
- 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
15
- 80: <span class="ruby-identifier">$open_files</span>[<span class="ruby-keyword kw">self</span>] = <span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>]
16
- 81: <span class="ruby-identifier">orig_open</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arg</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
17
- 82: <span class="ruby-keyword kw">end</span></pre>
18
- </body>
19
- </html>
@@ -1,23 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>log_open_files (Kernel)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/mongrel/debug.rb, line 84</span>
14
- 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_open_files</span>
15
- 85: <span class="ruby-identifier">open_counts</span> = {}
16
- 86: <span class="ruby-identifier">$open_files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span>,<span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
17
- 87: <span class="ruby-identifier">open_counts</span>[<span class="ruby-identifier">args</span>] <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>
18
- 88: <span class="ruby-identifier">open_counts</span>[<span class="ruby-identifier">args</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
19
- 89: <span class="ruby-keyword kw">end</span>
20
- 90: <span class="ruby-constant">MongrelDbg</span><span class="ruby-operator">::</span><span class="ruby-identifier">trace</span>(<span class="ruby-identifier">:files</span>, <span class="ruby-identifier">open_counts</span>.<span class="ruby-identifier">to_yaml</span>)
21
- 91: <span class="ruby-keyword kw">end</span></pre>
22
- </body>
23
- </html>
@@ -1,204 +0,0 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Mongrel</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Mongrel</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/mongrel_rb.html">
59
- lib/mongrel.rb
60
- </a>
61
- <br />
62
- <a href="../files/lib/mongrel/handlers_rb.html">
63
- lib/mongrel/handlers.rb
64
- </a>
65
- <br />
66
- <a href="../files/lib/mongrel/camping_rb.html">
67
- lib/mongrel/camping.rb
68
- </a>
69
- <br />
70
- <a href="../files/lib/mongrel/rails_rb.html">
71
- lib/mongrel/rails.rb
72
- </a>
73
- <br />
74
- <a href="../files/lib/mongrel/cgi_rb.html">
75
- lib/mongrel/cgi.rb
76
- </a>
77
- <br />
78
- <a href="../files/lib/mongrel/stats_rb.html">
79
- lib/mongrel/stats.rb
80
- </a>
81
- <br />
82
- <a href="../files/lib/mongrel/command_rb.html">
83
- lib/mongrel/command.rb
84
- </a>
85
- <br />
86
- <a href="../files/lib/mongrel/configurator_rb.html">
87
- lib/mongrel/configurator.rb
88
- </a>
89
- <br />
90
- <a href="../files/ext/http11/http11_c.html">
91
- ext/http11/http11.c
92
- </a>
93
- <br />
94
- </td>
95
- </tr>
96
-
97
- </table>
98
- </div>
99
- <!-- banner header -->
100
-
101
- <div id="bodyContent">
102
-
103
-
104
-
105
- <div id="contextContent">
106
-
107
- <div id="description">
108
- <p>
109
- A very simple little class for doing some basic fast statistics sampling.
110
- You feed it either samples of numeric data you want measured or you call <a
111
- href="Mongrel/Stats.html#M000146">Stats.tick</a> to get it to add a time
112
- delta between the last time you called it. When you&#8216;re done either
113
- call sum, sumsq, n, min, max, mean or sd to get the information. The other
114
- option is to just call dump and see everything.
115
- </p>
116
- <p>
117
- It does all of this very fast and doesn&#8216;t take up any memory since
118
- the samples are not stored but instead all the values are calculated on the
119
- fly.
120
- </p>
121
-
122
- </div>
123
-
124
-
125
- </div>
126
-
127
-
128
- </div>
129
-
130
-
131
- <!-- if includes -->
132
-
133
- <div id="section">
134
-
135
- <div id="class-list">
136
- <h3 class="section-bar">Classes and Modules</h3>
137
-
138
- Module <a href="Mongrel/Camping.html" class="link">Mongrel::Camping</a><br />
139
- Module <a href="Mongrel/Command.html" class="link">Mongrel::Command</a><br />
140
- Module <a href="Mongrel/Const.html" class="link">Mongrel::Const</a><br />
141
- Module <a href="Mongrel/HttpHandlerPlugin.html" class="link">Mongrel::HttpHandlerPlugin</a><br />
142
- Module <a href="Mongrel/Rails.html" class="link">Mongrel::Rails</a><br />
143
- Class <a href="Mongrel/CGIWrapper.html" class="link">Mongrel::CGIWrapper</a><br />
144
- Class <a href="Mongrel/Configurator.html" class="link">Mongrel::Configurator</a><br />
145
- Class <a href="Mongrel/DeflateFilter.html" class="link">Mongrel::DeflateFilter</a><br />
146
- Class <a href="Mongrel/DirHandler.html" class="link">Mongrel::DirHandler</a><br />
147
- Class <a href="Mongrel/Error404Handler.html" class="link">Mongrel::Error404Handler</a><br />
148
- Class <a href="Mongrel/HeaderOut.html" class="link">Mongrel::HeaderOut</a><br />
149
- Class <a href="Mongrel/HttpHandler.html" class="link">Mongrel::HttpHandler</a><br />
150
- Class <a href="Mongrel/HttpParams.html" class="link">Mongrel::HttpParams</a><br />
151
- Class <a href="Mongrel/HttpParser.html" class="link">Mongrel::HttpParser</a><br />
152
- Class <a href="Mongrel/HttpParserError.html" class="link">Mongrel::HttpParserError</a><br />
153
- Class <a href="Mongrel/HttpRequest.html" class="link">Mongrel::HttpRequest</a><br />
154
- Class <a href="Mongrel/HttpResponse.html" class="link">Mongrel::HttpResponse</a><br />
155
- Class <a href="Mongrel/HttpServer.html" class="link">Mongrel::HttpServer</a><br />
156
- Class <a href="Mongrel/RedirectHandler.html" class="link">Mongrel::RedirectHandler</a><br />
157
- Class <a href="Mongrel/StatisticsFilter.html" class="link">Mongrel::StatisticsFilter</a><br />
158
- Class <a href="Mongrel/Stats.html" class="link">Mongrel::Stats</a><br />
159
- Class <a href="Mongrel/StatusHandler.html" class="link">Mongrel::StatusHandler</a><br />
160
- Class <a href="Mongrel/StopServer.html" class="link">Mongrel::StopServer</a><br />
161
- Class <a href="Mongrel/TimeoutError.html" class="link">Mongrel::TimeoutError</a><br />
162
- Class <a href="Mongrel/URIClassifier.html" class="link">Mongrel::URIClassifier</a><br />
163
-
164
- </div>
165
-
166
- <div id="constants-list">
167
- <h3 class="section-bar">Constants</h3>
168
-
169
- <div class="name-list">
170
- <table summary="Constants">
171
- <tr class="top-aligned-row context-row">
172
- <td class="context-item-name">HTTP_STATUS_CODES</td>
173
- <td>=</td>
174
- <td class="context-item-value">{ 100 =&gt; 'Continue', 101 =&gt; 'Switching Protocols', 200 =&gt; 'OK', 201 =&gt; 'Created', 202 =&gt; 'Accepted', 203 =&gt; 'Non-Authoritative Information', 204 =&gt; 'No Content', 205 =&gt; 'Reset Content', 206 =&gt; 'Partial Content', 300 =&gt; 'Multiple Choices', 301 =&gt; 'Moved Permanently', 302 =&gt; 'Moved Temporarily', 303 =&gt; 'See Other', 304 =&gt; 'Not Modified', 305 =&gt; 'Use Proxy', 400 =&gt; 'Bad Request', 401 =&gt; 'Unauthorized', 402 =&gt; 'Payment Required', 403 =&gt; 'Forbidden', 404 =&gt; 'Not Found', 405 =&gt; 'Method Not Allowed', 406 =&gt; 'Not Acceptable', 407 =&gt; 'Proxy Authentication Required', 408 =&gt; 'Request Time-out', 409 =&gt; 'Conflict', 410 =&gt; 'Gone', 411 =&gt; 'Length Required', 412 =&gt; 'Precondition Failed', 413 =&gt; 'Request Entity Too Large', 414 =&gt; 'Request-URI Too Large', 415 =&gt; 'Unsupported Media Type', 500 =&gt; 'Internal Server Error', 501 =&gt; 'Not Implemented', 502 =&gt; 'Bad Gateway', 503 =&gt; 'Service Unavailable', 504 =&gt; 'Gateway Time-out', 505 =&gt; 'HTTP Version not supported'</td>
175
- <td width="3em">&nbsp;</td>
176
- <td class="context-item-desc">
177
- Every standard HTTP code mapped to the appropriate message. These are used
178
- so frequently that they are placed directly in <a
179
- href="Mongrel.html">Mongrel</a> for easy access rather than <a
180
- href="Mongrel/Const.html">Mongrel::Const</a>.
181
-
182
- </td>
183
- </tr>
184
- </table>
185
- </div>
186
- </div>
187
-
188
-
189
-
190
-
191
-
192
-
193
- <!-- if method_list -->
194
-
195
-
196
- </div>
197
-
198
-
199
- <div id="validator-badges">
200
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
201
- </div>
202
-
203
- </body>
204
- </html>
@@ -1,404 +0,0 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Mongrel::CGIWrapper</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Mongrel::CGIWrapper</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/mongrel/cgi_rb.html">
59
- lib/mongrel/cgi.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- ::CGI
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
- <div id="description">
82
- <p>
83
- The beginning of a complete wrapper around <a
84
- href="../Mongrel.html">Mongrel</a>&#8216;s internal HTTP processing system
85
- but maintaining the original Ruby CGI module. Use this only as a crutch to
86
- get existing CGI based systems working. It should handle everything, but
87
- please notify me if you see special warnings. This work is still very alpha
88
- so I need testers to help work <a href="CGIWrapper.html#M000118">out</a>
89
- the various corner cases.
90
- </p>
91
- <p>
92
- The CGIWrapper.handler attribute is normally not set and is available for
93
- frameworks that need to get back to the handler. <a
94
- href="Rails.html">Rails</a> uses this to give people access to the
95
- RailsHandler#files (<a href="DirHandler.html">DirHandler</a> really) so
96
- they can look-up paths and do other things with the files managed there.
97
- </p>
98
- <p>
99
- In <a href="Rails.html">Rails</a> you can get the real file for a request
100
- with:
101
- </p>
102
- <pre>
103
- path = @request.cgi.handler.files.can_serve(@request['PATH_INFO'])
104
- </pre>
105
- <p>
106
- Which is ugly but does the job. Feel free to write a <a
107
- href="Rails.html">Rails</a> helper for that. Refer to <a
108
- href="DirHandler.html#M000052">DirHandler#can_serve</a> for more
109
- information on this.
110
- </p>
111
-
112
- </div>
113
-
114
-
115
- </div>
116
-
117
- <div id="method-list">
118
- <h3 class="section-bar">Methods</h3>
119
-
120
- <div class="name-list">
121
- <a href="#M000120">args</a>&nbsp;&nbsp;
122
- <a href="#M000121">env_table</a>&nbsp;&nbsp;
123
- <a href="#M000116">header</a>&nbsp;&nbsp;
124
- <a href="#M000115">new</a>&nbsp;&nbsp;
125
- <a href="#M000118">out</a>&nbsp;&nbsp;
126
- <a href="#M000117">send_cookies</a>&nbsp;&nbsp;
127
- <a href="#M000119">status</a>&nbsp;&nbsp;
128
- <a href="#M000122">stdinput</a>&nbsp;&nbsp;
129
- <a href="#M000123">stdoutput</a>&nbsp;&nbsp;
130
- </div>
131
- </div>
132
-
133
- </div>
134
-
135
-
136
- <!-- if includes -->
137
-
138
- <div id="section">
139
-
140
-
141
- <div id="constants-list">
142
- <h3 class="section-bar">Constants</h3>
143
-
144
- <div class="name-list">
145
- <table summary="Constants">
146
- <tr class="top-aligned-row context-row">
147
- <td class="context-item-name">REMOVED_KEYS</td>
148
- <td>=</td>
149
- <td class="context-item-value">[ &quot;nph&quot;,&quot;status&quot;,&quot;server&quot;,&quot;connection&quot;,&quot;type&quot;, &quot;charset&quot;,&quot;length&quot;,&quot;language&quot;,&quot;expires&quot;]</td>
150
- <td width="3em">&nbsp;</td>
151
- <td class="context-item-desc">
152
- these are stripped <a href="CGIWrapper.html#M000118">out</a> of any keys
153
- passed to <a href="CGIWrapper.html#M000116">CGIWrapper.header</a> function
154
-
155
- </td>
156
- </tr>
157
- </table>
158
- </div>
159
- </div>
160
-
161
-
162
-
163
- <div id="attribute-list">
164
- <h3 class="section-bar">Attributes</h3>
165
-
166
- <div class="name-list">
167
- <table>
168
- <tr class="top-aligned-row context-row">
169
- <td class="context-item-name">default_really_final</td>
170
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
171
- <td class="context-item-desc">
172
- Set this to false if you want calls to <a
173
- href="CGIWrapper.html#M000118">CGIWrapper.out</a> to not actually send the
174
- response until you force it.
175
-
176
- </td>
177
- </tr>
178
- <tr class="top-aligned-row context-row">
179
- <td class="context-item-name">handler</td>
180
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
181
- <td class="context-item-desc"></td>
182
- </tr>
183
- <tr class="top-aligned-row context-row">
184
- <td class="context-item-name">options</td>
185
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
186
- <td class="context-item-desc"></td>
187
- </tr>
188
- </table>
189
- </div>
190
- </div>
191
-
192
-
193
-
194
- <!-- if method_list -->
195
- <div id="methods">
196
- <h3 class="section-bar">Public Class methods</h3>
197
-
198
- <div id="method-M000115" class="method-detail">
199
- <a name="M000115"></a>
200
-
201
- <div class="method-heading">
202
- <a href="CGIWrapper.src/M000115.html" target="Code" class="method-signature"
203
- onclick="popupCode('CGIWrapper.src/M000115.html');return false;">
204
- <span class="method-name">new</span><span class="method-args">(request, response, *args)</span>
205
- </a>
206
- </div>
207
-
208
- <div class="method-description">
209
- <p>
210
- Takes an <a href="HttpRequest.html">HttpRequest</a> and <a
211
- href="HttpResponse.html">HttpResponse</a> object, plus any additional
212
- arguments normally passed to CGI. These are used internally to create a
213
- wrapper around the real CGI while maintaining <a
214
- href="../Mongrel.html">Mongrel</a>&#8216;s view of the world.
215
- </p>
216
- </div>
217
- </div>
218
-
219
- <h3 class="section-bar">Public Instance methods</h3>
220
-
221
- <div id="method-M000120" class="method-detail">
222
- <a name="M000120"></a>
223
-
224
- <div class="method-heading">
225
- <a href="CGIWrapper.src/M000120.html" target="Code" class="method-signature"
226
- onclick="popupCode('CGIWrapper.src/M000120.html');return false;">
227
- <span class="method-name">args</span><span class="method-args">()</span>
228
- </a>
229
- </div>
230
-
231
- <div class="method-description">
232
- <p>
233
- Used to wrap the normal <a href="CGIWrapper.html#M000120">args</a> variable
234
- used inside CGI.
235
- </p>
236
- </div>
237
- </div>
238
-
239
- <div id="method-M000121" class="method-detail">
240
- <a name="M000121"></a>
241
-
242
- <div class="method-heading">
243
- <a href="CGIWrapper.src/M000121.html" target="Code" class="method-signature"
244
- onclick="popupCode('CGIWrapper.src/M000121.html');return false;">
245
- <span class="method-name">env_table</span><span class="method-args">()</span>
246
- </a>
247
- </div>
248
-
249
- <div class="method-description">
250
- <p>
251
- Used to wrap the normal <a href="CGIWrapper.html#M000121">env_table</a>
252
- variable used inside CGI.
253
- </p>
254
- </div>
255
- </div>
256
-
257
- <div id="method-M000116" class="method-detail">
258
- <a name="M000116"></a>
259
-
260
- <div class="method-heading">
261
- <a href="CGIWrapper.src/M000116.html" target="Code" class="method-signature"
262
- onclick="popupCode('CGIWrapper.src/M000116.html');return false;">
263
- <span class="method-name">header</span><span class="method-args">(options = &quot;text/html&quot;)</span>
264
- </a>
265
- </div>
266
-
267
- <div class="method-description">
268
- <p>
269
- The <a href="CGIWrapper.html#M000116">header</a> is typically called to
270
- send back the <a href="CGIWrapper.html#M000116">header</a>. In our case we
271
- collect it into a hash for later usage.
272
- </p>
273
- <p>
274
- nph &#8212; Mostly ignored. It&#8216;ll output the date. connection &#8212;
275
- Completely ignored. Why is CGI doing this? length &#8212; Ignored since <a
276
- href="../Mongrel.html">Mongrel</a> figures this <a
277
- href="CGIWrapper.html#M000118">out</a> from what you write to output.
278
- </p>
279
- </div>
280
- </div>
281
-
282
- <div id="method-M000118" class="method-detail">
283
- <a name="M000118"></a>
284
-
285
- <div class="method-heading">
286
- <a href="CGIWrapper.src/M000118.html" target="Code" class="method-signature"
287
- onclick="popupCode('CGIWrapper.src/M000118.html');return false;">
288
- <span class="method-name">out</span><span class="method-args">(options = &quot;text/html&quot;, really_final=@default_really_final) {||| &quot;&quot;)| ...}</span>
289
- </a>
290
- </div>
291
-
292
- <div class="method-description">
293
- <p>
294
- The dumb thing is people can call <a
295
- href="CGIWrapper.html#M000116">header</a> or this or both and in any order.
296
- So, we just reuse <a href="CGIWrapper.html#M000116">header</a> and then
297
- finalize the <a href="HttpResponse.html">HttpResponse</a> the right way.
298
- Status is taken from the various options and converted to what <a
299
- href="../Mongrel.html">Mongrel</a> needs via the <a
300
- href="CGIWrapper.html#M000119">CGIWrapper.status</a> function.
301
- </p>
302
- <p>
303
- We also prevent <a href="Rails.html">Rails</a> from actually doing the
304
- final send by adding a second parameter &quot;really_final&quot;. Only <a
305
- href="../Mongrel.html">Mongrel</a> calls this after <a
306
- href="Rails.html">Rails</a> is done. Since this will break other
307
- frameworks, it defaults to a different setting for rails (false) and (true)
308
- for others.
309
- </p>
310
- </div>
311
- </div>
312
-
313
- <div id="method-M000117" class="method-detail">
314
- <a name="M000117"></a>
315
-
316
- <div class="method-heading">
317
- <a href="CGIWrapper.src/M000117.html" target="Code" class="method-signature"
318
- onclick="popupCode('CGIWrapper.src/M000117.html');return false;">
319
- <span class="method-name">send_cookies</span><span class="method-args">(to)</span>
320
- </a>
321
- </div>
322
-
323
- <div class="method-description">
324
- <p>
325
- Takes any &#8216;cookie&#8217; setting and sends it over the <a
326
- href="../Mongrel.html">Mongrel</a> <a
327
- href="CGIWrapper.html#M000116">header</a>, then removes the setting from
328
- the options. If cookie is an Array or Hash then it sends those on with
329
- .to_s, otherwise it just calls .to_s on it and hopefully your
330
- &quot;cookie&quot; can write itself correctly.
331
- </p>
332
- </div>
333
- </div>
334
-
335
- <div id="method-M000119" class="method-detail">
336
- <a name="M000119"></a>
337
-
338
- <div class="method-heading">
339
- <a href="CGIWrapper.src/M000119.html" target="Code" class="method-signature"
340
- onclick="popupCode('CGIWrapper.src/M000119.html');return false;">
341
- <span class="method-name">status</span><span class="method-args">()</span>
342
- </a>
343
- </div>
344
-
345
- <div class="method-description">
346
- <p>
347
- Computes the <a href="CGIWrapper.html#M000119">status</a> once, but lazily
348
- so that people who call <a href="CGIWrapper.html#M000116">header</a> twice
349
- don&#8216;t get penalized. Because CGI insists on including the options <a
350
- href="CGIWrapper.html#M000119">status</a> message in the <a
351
- href="CGIWrapper.html#M000119">status</a> we have to do a bit of parsing.
352
- </p>
353
- </div>
354
- </div>
355
-
356
- <div id="method-M000122" class="method-detail">
357
- <a name="M000122"></a>
358
-
359
- <div class="method-heading">
360
- <a href="CGIWrapper.src/M000122.html" target="Code" class="method-signature"
361
- onclick="popupCode('CGIWrapper.src/M000122.html');return false;">
362
- <span class="method-name">stdinput</span><span class="method-args">()</span>
363
- </a>
364
- </div>
365
-
366
- <div class="method-description">
367
- <p>
368
- Used to wrap the normal <a href="CGIWrapper.html#M000122">stdinput</a>
369
- variable used inside CGI.
370
- </p>
371
- </div>
372
- </div>
373
-
374
- <div id="method-M000123" class="method-detail">
375
- <a name="M000123"></a>
376
-
377
- <div class="method-heading">
378
- <a href="CGIWrapper.src/M000123.html" target="Code" class="method-signature"
379
- onclick="popupCode('CGIWrapper.src/M000123.html');return false;">
380
- <span class="method-name">stdoutput</span><span class="method-args">()</span>
381
- </a>
382
- </div>
383
-
384
- <div class="method-description">
385
- <p>
386
- The <a href="CGIWrapper.html#M000123">stdoutput</a> should be completely
387
- bypassed but we&#8216;ll drop a warning just in case
388
- </p>
389
- </div>
390
- </div>
391
-
392
-
393
- </div>
394
-
395
-
396
- </div>
397
-
398
-
399
- <div id="validator-badges">
400
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
401
- </div>
402
-
403
- </body>
404
- </html>