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.
- data.tar.gz.sig +2 -0
- data/CHANGELOG +2 -0
- data/Manifest +68 -0
- data/bin/mongrel_rails +55 -22
- data/examples/camping/README +3 -0
- data/examples/httpd.conf +474 -0
- data/examples/mime.yaml +3 -0
- data/examples/mongrel.conf +9 -0
- data/examples/monitrc +57 -0
- data/ext/http11/http11.c +25 -12
- data/ext/http11/http11_parser.c +456 -331
- data/ext/http11/http11_parser.h +1 -0
- data/ext/http11/http11_parser.java.rl +170 -0
- data/ext/http11/http11_parser.rl +8 -48
- data/ext/http11/http11_parser_common.rl +54 -0
- data/ext/http11/tst.h +2 -2
- data/ext/http11/tst_cleanup.c +0 -1
- data/ext/http11/tst_insert.c +29 -3
- data/ext/http11/tst_search.c +60 -55
- data/lib/mongrel.rb +68 -53
- data/lib/mongrel/cgi.rb +3 -3
- data/lib/mongrel/command.rb +1 -1
- data/lib/mongrel/configurator.rb +41 -31
- data/lib/mongrel/debug.rb +2 -5
- data/lib/mongrel/handlers.rb +23 -9
- data/lib/mongrel/mime_types.yml +2 -1
- data/lib/mongrel/rails.rb +7 -15
- data/mongrel-public_cert.pem +20 -0
- data/mongrel.gemspec +211 -0
- data/test/jruby_socket.rb +39 -0
- data/test/test_cgi_wrapper.rb +26 -0
- data/test/test_command.rb +1 -4
- data/test/test_conditional.rb +6 -18
- data/test/test_configurator.rb +5 -8
- data/test/test_debug.rb +3 -11
- data/test/test_handlers.rb +8 -10
- data/test/test_http11.rb +24 -5
- data/test/test_redirect_handler.rb +2 -6
- data/test/test_request_progress.rb +5 -9
- data/test/test_response.rb +24 -3
- data/test/test_stats.rb +1 -3
- data/test/test_uriclassifier.rb +170 -81
- data/test/test_ws.rb +25 -24
- data/test/testhelp.rb +26 -3
- data/tools/trickletest.rb +2 -2
- metadata +138 -333
- metadata.gz.sig +0 -0
- data/Rakefile +0 -117
- data/doc/rdoc/classes/IO.html +0 -170
- data/doc/rdoc/classes/IO.src/M000003.html +0 -19
- data/doc/rdoc/classes/IO.src/M000004.html +0 -19
- data/doc/rdoc/classes/Kernel.html +0 -159
- data/doc/rdoc/classes/Kernel.src/M000012.html +0 -19
- data/doc/rdoc/classes/Kernel.src/M000013.html +0 -23
- data/doc/rdoc/classes/Mongrel.html +0 -204
- data/doc/rdoc/classes/Mongrel/CGIWrapper.html +0 -404
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html +0 -25
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000116.html +0 -47
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000117.html +0 -34
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000118.html +0 -32
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000119.html +0 -25
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000120.html +0 -18
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000121.html +0 -18
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000122.html +0 -18
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000123.html +0 -19
- data/doc/rdoc/classes/Mongrel/Camping.html +0 -177
- data/doc/rdoc/classes/Mongrel/Camping.src/M000041.html +0 -22
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +0 -184
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000042.html +0 -20
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000043.html +0 -58
- data/doc/rdoc/classes/Mongrel/Command.html +0 -132
- data/doc/rdoc/classes/Mongrel/Command/Base.html +0 -384
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html +0 -24
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000019.html +0 -42
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000020.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000021.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000022.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000023.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000024.html +0 -22
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000025.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +0 -24
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html +0 -24
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html +0 -18
- data/doc/rdoc/classes/Mongrel/Command/Registry.html +0 -192
- data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html +0 -20
- data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000032.html +0 -29
- data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000033.html +0 -58
- data/doc/rdoc/classes/Mongrel/Configurator.html +0 -716
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000093.html +0 -27
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000094.html +0 -31
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000095.html +0 -18
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000096.html +0 -21
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000097.html +0 -20
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000098.html +0 -23
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +0 -18
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000100.html +0 -38
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000101.html +0 -19
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000102.html +0 -39
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000103.html +0 -33
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000104.html +0 -18
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000105.html +0 -24
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +0 -19
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000107.html +0 -18
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +0 -22
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +0 -22
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +0 -18
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +0 -34
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +0 -18
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +0 -36
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +0 -18
- data/doc/rdoc/classes/Mongrel/Const.html +0 -337
- data/doc/rdoc/classes/Mongrel/DeflateFilter.html +0 -188
- data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000124.html +0 -19
- data/doc/rdoc/classes/Mongrel/DeflateFilter.src/M000125.html +0 -23
- data/doc/rdoc/classes/Mongrel/DirHandler.html +0 -303
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000051.html +0 -21
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html +0 -42
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000053.html +0 -38
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000054.html +0 -65
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000055.html +0 -39
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html +0 -18
- data/doc/rdoc/classes/Mongrel/Error404Handler.html +0 -171
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/M000126.html +0 -18
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/M000127.html +0 -18
- data/doc/rdoc/classes/Mongrel/HeaderOut.html +0 -190
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000066.html +0 -21
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000067.html +0 -21
- data/doc/rdoc/classes/Mongrel/HttpHandler.html +0 -215
- data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000072.html +0 -17
- data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000073.html +0 -17
- data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000074.html +0 -17
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +0 -210
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000014.html +0 -17
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000015.html +0 -17
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000016.html +0 -19
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000017.html +0 -17
- data/doc/rdoc/classes/Mongrel/HttpParams.html +0 -131
- data/doc/rdoc/classes/Mongrel/HttpParser.html +0 -278
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000044.html +0 -28
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000045.html +0 -29
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000046.html +0 -29
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000047.html +0 -59
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000048.html +0 -27
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000049.html +0 -27
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000050.html +0 -28
- data/doc/rdoc/classes/Mongrel/HttpParserError.html +0 -111
- data/doc/rdoc/classes/Mongrel/HttpRequest.html +0 -284
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000133.html +0 -50
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000134.html +0 -41
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000135.html +0 -29
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000136.html +0 -20
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000137.html +0 -20
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html +0 -32
- data/doc/rdoc/classes/Mongrel/HttpResponse.html +0 -443
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +0 -25
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +0 -20
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html +0 -26
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html +0 -22
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +0 -22
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000080.html +0 -22
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +0 -31
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +0 -21
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +0 -20
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +0 -20
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000085.html +0 -20
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html +0 -18
- data/doc/rdoc/classes/Mongrel/HttpServer.html +0 -402
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000057.html +0 -25
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000058.html +0 -100
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html +0 -32
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html +0 -21
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000061.html +0 -29
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html +0 -65
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html +0 -34
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000064.html +0 -18
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html +0 -22
- data/doc/rdoc/classes/Mongrel/Rails.html +0 -112
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +0 -225
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000034.html +0 -37
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000035.html +0 -25
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000036.html +0 -26
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +0 -263
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html +0 -23
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html +0 -56
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000039.html +0 -20
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000040.html +0 -25
- data/doc/rdoc/classes/Mongrel/RedirectHandler.html +0 -187
- data/doc/rdoc/classes/Mongrel/RedirectHandler.src/M000131.html +0 -22
- data/doc/rdoc/classes/Mongrel/RedirectHandler.src/M000132.html +0 -27
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +0 -211
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000128.html +0 -24
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000129.html +0 -24
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000130.html +0 -18
- data/doc/rdoc/classes/Mongrel/Stats.html +0 -309
- data/doc/rdoc/classes/Mongrel/Stats.src/M000139.html +0 -19
- data/doc/rdoc/classes/Mongrel/Stats.src/M000140.html +0 -23
- data/doc/rdoc/classes/Mongrel/Stats.src/M000141.html +0 -26
- data/doc/rdoc/classes/Mongrel/Stats.src/M000142.html +0 -18
- data/doc/rdoc/classes/Mongrel/Stats.src/M000143.html +0 -18
- data/doc/rdoc/classes/Mongrel/Stats.src/M000144.html +0 -18
- data/doc/rdoc/classes/Mongrel/Stats.src/M000145.html +0 -23
- data/doc/rdoc/classes/Mongrel/Stats.src/M000146.html +0 -20
- data/doc/rdoc/classes/Mongrel/StatusHandler.html +0 -194
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000068.html +0 -18
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000069.html +0 -24
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000070.html +0 -42
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html +0 -20
- data/doc/rdoc/classes/Mongrel/StopServer.html +0 -117
- data/doc/rdoc/classes/Mongrel/TimeoutError.html +0 -117
- data/doc/rdoc/classes/Mongrel/URIClassifier.html +0 -317
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000087.html +0 -18
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html +0 -18
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html +0 -39
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000090.html +0 -51
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000091.html +0 -36
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html +0 -83
- data/doc/rdoc/classes/MongrelDbg.html +0 -209
- data/doc/rdoc/classes/MongrelDbg.src/M000007.html +0 -24
- data/doc/rdoc/classes/MongrelDbg.src/M000008.html +0 -20
- data/doc/rdoc/classes/MongrelDbg.src/M000009.html +0 -22
- data/doc/rdoc/classes/MongrelDbg.src/M000010.html +0 -21
- data/doc/rdoc/classes/MongrelDbg.src/M000011.html +0 -18
- data/doc/rdoc/classes/Mutex.html +0 -158
- data/doc/rdoc/classes/Mutex.src/M000001.html +0 -24
- data/doc/rdoc/classes/Mutex.src/M000002.html +0 -32
- data/doc/rdoc/classes/RequestLog.html +0 -115
- data/doc/rdoc/classes/RequestLog/Access.html +0 -151
- data/doc/rdoc/classes/RequestLog/Access.src/M000147.html +0 -19
- data/doc/rdoc/classes/RequestLog/Files.html +0 -144
- data/doc/rdoc/classes/RequestLog/Files.src/M000148.html +0 -19
- data/doc/rdoc/classes/RequestLog/Objects.html +0 -150
- data/doc/rdoc/classes/RequestLog/Objects.src/M000150.html +0 -51
- data/doc/rdoc/classes/RequestLog/Params.html +0 -144
- data/doc/rdoc/classes/RequestLog/Params.src/M000151.html +0 -19
- data/doc/rdoc/classes/RequestLog/Threads.html +0 -144
- data/doc/rdoc/classes/RequestLog/Threads.src/M000149.html +0 -34
- data/doc/rdoc/classes/TCPServer.html +0 -173
- data/doc/rdoc/classes/TCPServer.src/M000005.html +0 -19
- data/doc/rdoc/created.rid +0 -1
- data/doc/rdoc/files/COPYING.html +0 -168
- data/doc/rdoc/files/LICENSE.html +0 -168
- data/doc/rdoc/files/README.html +0 -213
- data/doc/rdoc/files/ext/http11/http11_c.html +0 -101
- data/doc/rdoc/files/lib/mongrel/camping_rb.html +0 -120
- data/doc/rdoc/files/lib/mongrel/cgi_rb.html +0 -120
- data/doc/rdoc/files/lib/mongrel/command_rb.html +0 -123
- data/doc/rdoc/files/lib/mongrel/configurator_rb.html +0 -111
- data/doc/rdoc/files/lib/mongrel/debug_rb.html +0 -122
- data/doc/rdoc/files/lib/mongrel/handlers_rb.html +0 -122
- data/doc/rdoc/files/lib/mongrel/init_rb.html +0 -121
- data/doc/rdoc/files/lib/mongrel/rails_rb.html +0 -123
- data/doc/rdoc/files/lib/mongrel/stats_rb.html +0 -113
- data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +0 -113
- data/doc/rdoc/files/lib/mongrel_rb.html +0 -135
- data/doc/rdoc/files/lib/mutex_fix_rb.html +0 -108
- data/doc/rdoc/fr_class_index.html +0 -68
- data/doc/rdoc/fr_file_index.html +0 -42
- data/doc/rdoc/fr_method_index.html +0 -177
- data/doc/rdoc/index.html +0 -24
- data/doc/rdoc/rdoc-style.css +0 -208
- 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">&</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">&</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‘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‘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 => 'Continue', 101 => 'Switching Protocols', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Moved Temporarily', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported'</td>
|
|
175
|
-
<td width="3em"> </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>‘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>
|
|
122
|
-
<a href="#M000121">env_table</a>
|
|
123
|
-
<a href="#M000116">header</a>
|
|
124
|
-
<a href="#M000115">new</a>
|
|
125
|
-
<a href="#M000118">out</a>
|
|
126
|
-
<a href="#M000117">send_cookies</a>
|
|
127
|
-
<a href="#M000119">status</a>
|
|
128
|
-
<a href="#M000122">stdinput</a>
|
|
129
|
-
<a href="#M000123">stdoutput</a>
|
|
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">[ "nph","status","server","connection","type", "charset","length","language","expires"]</td>
|
|
150
|
-
<td width="3em"> </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"> [RW] </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"> [RW] </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"> [R] </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>‘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 = "text/html")</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 — Mostly ignored. It‘ll output the date. connection —
|
|
275
|
-
Completely ignored. Why is CGI doing this? length — 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 = "text/html", really_final=@default_really_final) {||| "")| ...}</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 "really_final". 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 ‘cookie’ 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
|
-
"cookie" 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‘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‘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>
|