mongrel 0.3.13.4 → 1.0
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/README +1 -75
- data/Rakefile +14 -14
- data/bin/mongrel_rails +35 -23
- data/doc/rdoc/classes/IO.html +12 -12
- data/doc/rdoc/classes/IO.src/{M000001.html → M000003.html} +0 -0
- data/doc/rdoc/classes/IO.src/{M000002.html → M000004.html} +0 -0
- data/doc/rdoc/classes/Kernel.html +11 -11
- data/doc/rdoc/classes/Kernel.src/{M000010.html → M000012.html} +0 -0
- data/doc/rdoc/classes/Kernel.src/{M000011.html → M000013.html} +0 -0
- data/doc/rdoc/classes/Mongrel.html +3 -3
- data/doc/rdoc/classes/Mongrel/CGIWrapper.html +77 -69
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html +12 -19
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000116.html +34 -12
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000117.html +21 -5
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000118.html +19 -5
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000119.html +12 -5
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000120.html +5 -6
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000121.html +18 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000122.html +18 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000123.html +19 -0
- data/doc/rdoc/classes/Mongrel/Camping.html +8 -8
- data/doc/rdoc/classes/Mongrel/Camping.src/M000041.html +22 -0
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +31 -12
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000042.html +20 -0
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000043.html +58 -0
- data/doc/rdoc/classes/Mongrel/Command/Base.html +75 -73
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html +11 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000019.html +29 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000020.html +5 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000021.html +5 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000022.html +5 -9
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000023.html +5 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000024.html +9 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000025.html +5 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html +5 -11
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html +5 -11
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html +11 -5
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html +24 -0
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html +18 -0
- data/doc/rdoc/classes/Mongrel/Command/Registry.html +20 -20
- data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html +7 -45
- data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000030.html → M000032.html} +0 -0
- data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000033.html +58 -0
- data/doc/rdoc/classes/Mongrel/Configurator.html +163 -140
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000093.html +14 -8
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000094.html +18 -7
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000095.html +5 -10
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000096.html +8 -5
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000097.html +7 -25
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000098.html +10 -6
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000099.html +5 -26
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000100.html +25 -20
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000101.html +6 -5
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000102.html +26 -11
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000103.html +20 -6
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000104.html +5 -5
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000105.html +11 -9
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000106.html +6 -9
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000107.html +5 -5
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000108.html +9 -21
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000109.html +9 -5
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000110.html +5 -23
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000111.html +21 -5
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000112.html +18 -0
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000113.html +36 -0
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000114.html +18 -0
- data/doc/rdoc/classes/Mongrel/Const.html +8 -9
- data/doc/rdoc/classes/Mongrel/DeflateFilter.html +19 -12
- data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000121.html → M000124.html} +5 -5
- data/doc/rdoc/classes/Mongrel/DeflateFilter.src/{M000122.html → M000125.html} +9 -14
- data/doc/rdoc/classes/Mongrel/DirHandler.html +43 -43
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000051.html +8 -25
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html +29 -50
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000053.html +25 -26
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000054.html +52 -5
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000055.html +39 -0
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html +18 -0
- data/doc/rdoc/classes/Mongrel/Error404Handler.html +11 -11
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000123.html → M000126.html} +4 -4
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000124.html → M000127.html} +4 -4
- data/doc/rdoc/classes/Mongrel/HeaderOut.html +15 -10
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000066.html +21 -0
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000067.html +21 -0
- data/doc/rdoc/classes/Mongrel/HttpHandler.html +25 -23
- data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000072.html +4 -4
- data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000071.html → M000073.html} +3 -3
- data/doc/rdoc/classes/Mongrel/{HttpHandlerPlugin.src/M000012.html → HttpHandler.src/M000074.html} +4 -4
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.html +22 -21
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000014.html +4 -6
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000015.html +4 -4
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000016.html +19 -0
- data/doc/rdoc/classes/Mongrel/{HttpHandler.src/M000070.html → HttpHandlerPlugin.src/M000017.html} +4 -4
- data/doc/rdoc/classes/Mongrel/HttpParser.html +44 -42
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000044.html +6 -7
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000045.html +7 -37
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000046.html +7 -5
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000047.html +37 -5
- data/doc/rdoc/classes/Mongrel/HttpParser.src/M000048.html +5 -6
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000042.html → M000049.html} +5 -6
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000043.html → M000050.html} +6 -7
- data/doc/rdoc/classes/Mongrel/HttpRequest.html +37 -40
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000133.html +37 -7
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000134.html +28 -7
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000135.html +16 -19
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000136.html +20 -0
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000137.html +20 -0
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html +32 -0
- data/doc/rdoc/classes/Mongrel/HttpResponse.html +95 -85
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html +12 -13
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html +7 -9
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html +13 -9
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html +9 -9
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000079.html +9 -18
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000080.html +9 -8
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000081.html +18 -7
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html +8 -7
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html +7 -7
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html +7 -5
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000085.html +20 -0
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html +18 -0
- data/doc/rdoc/classes/Mongrel/HttpServer.html +59 -63
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000057.html +12 -19
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000058.html +87 -8
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html +19 -9
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000060.html +8 -49
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000061.html +16 -21
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html +52 -5
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html +21 -9
- data/doc/rdoc/classes/Mongrel/{HeaderOut.src → HttpServer.src}/M000064.html +5 -5
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html +22 -0
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html +27 -25
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000034.html +24 -13
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/{M000033.html → M000035.html} +11 -11
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000036.html +26 -0
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.html +24 -26
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html +10 -8
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html +43 -12
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000039.html +20 -0
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000040.html +25 -0
- data/doc/rdoc/classes/Mongrel/RedirectHandler.html +10 -10
- data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000128.html → M000131.html} +8 -8
- data/doc/rdoc/classes/Mongrel/RedirectHandler.src/{M000129.html → M000132.html} +13 -13
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.html +20 -20
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000125.html → M000128.html} +10 -10
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000126.html → M000129.html} +10 -10
- data/doc/rdoc/classes/Mongrel/StatisticsFilter.src/{M000127.html → M000130.html} +4 -4
- data/doc/rdoc/classes/Mongrel/Stats.html +43 -42
- data/doc/rdoc/classes/Mongrel/Stats.src/M000139.html +6 -5
- data/doc/rdoc/classes/Mongrel/Stats.src/M000140.html +10 -5
- data/doc/rdoc/classes/Mongrel/Stats.src/M000141.html +13 -5
- data/doc/rdoc/classes/Mongrel/Stats.src/M000142.html +5 -10
- data/doc/rdoc/classes/Mongrel/Stats.src/M000143.html +5 -7
- data/doc/rdoc/classes/Mongrel/Stats.src/{M000136.html → M000144.html} +5 -6
- data/doc/rdoc/classes/Mongrel/Stats.src/M000145.html +23 -0
- data/doc/rdoc/classes/Mongrel/Stats.src/M000146.html +20 -0
- data/doc/rdoc/classes/Mongrel/StatusHandler.html +21 -21
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000068.html +5 -29
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000069.html +11 -7
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000070.html +42 -0
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html +20 -0
- data/doc/rdoc/classes/Mongrel/URIClassifier.html +58 -55
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000087.html +5 -26
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html +5 -38
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html +18 -15
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000090.html +25 -57
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000091.html +36 -0
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html +83 -0
- data/doc/rdoc/classes/MongrelDbg.html +25 -25
- data/doc/rdoc/classes/MongrelDbg.src/M000007.html +11 -9
- data/doc/rdoc/classes/MongrelDbg.src/M000008.html +7 -8
- data/doc/rdoc/classes/MongrelDbg.src/M000009.html +9 -5
- data/doc/rdoc/classes/MongrelDbg.src/M000010.html +21 -0
- data/doc/rdoc/classes/MongrelDbg.src/M000011.html +18 -0
- data/doc/rdoc/classes/{Sync.html → Mutex.html} +50 -19
- data/doc/rdoc/classes/Mutex.src/M000001.html +24 -0
- data/doc/rdoc/classes/Mutex.src/M000002.html +32 -0
- data/doc/rdoc/classes/RequestLog/Access.html +5 -5
- data/doc/rdoc/classes/RequestLog/Access.src/{M000144.html → M000147.html} +0 -0
- data/doc/rdoc/classes/RequestLog/Files.html +5 -5
- data/doc/rdoc/classes/RequestLog/Files.src/{M000145.html → M000148.html} +0 -0
- data/doc/rdoc/classes/RequestLog/Objects.html +5 -5
- data/doc/rdoc/classes/RequestLog/Objects.src/{M000147.html → M000150.html} +0 -0
- data/doc/rdoc/classes/RequestLog/Params.html +5 -5
- data/doc/rdoc/classes/RequestLog/Params.src/{M000148.html → M000151.html} +0 -0
- data/doc/rdoc/classes/RequestLog/Threads.html +5 -5
- data/doc/rdoc/classes/RequestLog/Threads.src/{M000146.html → M000149.html} +0 -0
- data/doc/rdoc/classes/TCPServer.html +10 -10
- data/doc/rdoc/classes/TCPServer.src/{M000003.html → M000005.html} +0 -0
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/COPYING.html +1 -1
- data/doc/rdoc/files/LICENSE.html +1 -1
- data/doc/rdoc/files/README.html +11 -100
- data/doc/rdoc/files/ext/http11/http11_c.html +1 -1
- data/doc/rdoc/files/lib/mongrel/camping_rb.html +2 -2
- data/doc/rdoc/files/lib/mongrel/cgi_rb.html +2 -2
- data/doc/rdoc/files/lib/mongrel/command_rb.html +2 -2
- data/doc/rdoc/files/lib/mongrel/configurator_rb.html +1 -1
- data/doc/rdoc/files/lib/mongrel/debug_rb.html +2 -2
- data/doc/rdoc/files/lib/mongrel/handlers_rb.html +3 -2
- data/doc/rdoc/files/lib/mongrel/init_rb.html +2 -2
- data/doc/rdoc/files/lib/mongrel/rails_rb.html +2 -3
- data/doc/rdoc/files/lib/mongrel/stats_rb.html +2 -2
- data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +2 -2
- data/doc/rdoc/files/lib/mongrel_rb.html +5 -3
- data/doc/rdoc/files/lib/mutex_fix_rb.html +108 -0
- data/doc/rdoc/fr_class_index.html +1 -1
- data/doc/rdoc/fr_file_index.html +1 -0
- data/doc/rdoc/fr_method_index.html +151 -148
- data/ext/http11/http11.c +2 -2
- data/lib/mongrel.rb +85 -38
- data/lib/mongrel/camping.rb +17 -4
- data/lib/mongrel/configurator.rb +11 -7
- data/lib/mongrel/handlers.rb +30 -27
- data/lib/mongrel/mime_types.yml +615 -0
- data/lib/mongrel/rails.rb +21 -28
- data/lib/mutex_fix.rb +34 -0
- data/test/test_handlers.rb +16 -4
- data/test/test_http11.rb +8 -0
- data/test/test_request_progress.rb +45 -2
- data/test/test_response.rb +31 -0
- metadata +95 -71
- data/bin/mongrel_rails_service +0 -246
- data/bin/mongrel_rails_svc +0 -307
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000112.html +0 -25
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000113.html +0 -47
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000114.html +0 -34
- data/doc/rdoc/classes/Mongrel/Camping.src/M000039.html +0 -22
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000040.html +0 -18
- data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000041.html +0 -51
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000016.html +0 -24
- data/doc/rdoc/classes/Mongrel/Command/Base.src/M000017.html +0 -42
- data/doc/rdoc/classes/Mongrel/Command/Registry.src/M000029.html +0 -20
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000091.html +0 -27
- data/doc/rdoc/classes/Mongrel/Configurator.src/M000092.html +0 -31
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000049.html +0 -21
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000050.html +0 -43
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000065.html +0 -18
- data/doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000013.html +0 -17
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000130.html +0 -47
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000131.html +0 -37
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/M000132.html +0 -29
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000073.html +0 -25
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000074.html +0 -20
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000055.html +0 -25
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000056.html +0 -91
- data/doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000032.html +0 -37
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000035.html +0 -23
- data/doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000036.html +0 -54
- data/doc/rdoc/classes/Mongrel/Stats.src/M000137.html +0 -23
- data/doc/rdoc/classes/Mongrel/Stats.src/M000138.html +0 -26
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000066.html +0 -18
- data/doc/rdoc/classes/Mongrel/StatusHandler.src/M000067.html +0 -24
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000085.html +0 -18
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/M000086.html +0 -18
- data/doc/rdoc/classes/MongrelDbg.src/M000005.html +0 -24
- data/doc/rdoc/classes/MongrelDbg.src/M000006.html +0 -20
|
@@ -5,14 +5,19 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>reset (Mongrel::Stats)</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/stats.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 25</span>
|
|
14
|
+
25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
|
|
15
|
+
26: <span class="ruby-ivar">@sum</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
|
16
|
+
27: <span class="ruby-ivar">@sumsq</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
|
17
|
+
28: <span class="ruby-ivar">@last_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
|
|
18
|
+
29: <span class="ruby-ivar">@n</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
|
19
|
+
30: <span class="ruby-ivar">@min</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
|
20
|
+
31: <span class="ruby-ivar">@max</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
|
21
|
+
32: <span class="ruby-keyword kw">end</span></pre>
|
|
17
22
|
</body>
|
|
18
23
|
</html>
|
|
@@ -5,14 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>sample (Mongrel::Stats)</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/stats.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 35</span>
|
|
14
|
+
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">s</span>)
|
|
15
|
+
36: <span class="ruby-ivar">@sum</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">s</span>
|
|
16
|
+
37: <span class="ruby-ivar">@sumsq</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">s</span>
|
|
17
|
+
38: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@n</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
18
|
+
39: <span class="ruby-ivar">@min</span> = <span class="ruby-ivar">@max</span> = <span class="ruby-identifier">s</span>
|
|
19
|
+
40: <span class="ruby-keyword kw">else</span>
|
|
20
|
+
41: <span class="ruby-ivar">@min</span> = <span class="ruby-identifier">s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@min</span> <span class="ruby-operator">></span> <span class="ruby-identifier">s</span>
|
|
21
|
+
42: <span class="ruby-ivar">@max</span> = <span class="ruby-identifier">s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@max</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">s</span>
|
|
22
|
+
43: <span class="ruby-keyword kw">end</span>
|
|
23
|
+
44: <span class="ruby-ivar">@n</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>
|
|
24
|
+
45: <span class="ruby-keyword kw">end</span></pre>
|
|
17
25
|
</body>
|
|
18
26
|
</html>
|
|
@@ -5,19 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>dump (Mongrel::Stats)</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/stats.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
67: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">sqrt</span>( (<span class="ruby-ivar">@sumsq</span> <span class="ruby-operator">-</span> ( <span class="ruby-ivar">@sum</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@n</span>)) <span class="ruby-operator">/</span> (<span class="ruby-ivar">@n</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) )
|
|
18
|
-
68: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EDOM</span>
|
|
19
|
-
69: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
|
20
|
-
70: <span class="ruby-keyword kw">end</span>
|
|
21
|
-
71: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 48</span>
|
|
14
|
+
48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump</span>(<span class="ruby-identifier">msg</span> = <span class="ruby-value str">""</span>, <span class="ruby-identifier">out</span>=<span class="ruby-constant">STDERR</span>)
|
|
15
|
+
49: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{msg}: #{self.to_s}"</span>
|
|
16
|
+
50: <span class="ruby-keyword kw">end</span></pre>
|
|
22
17
|
</body>
|
|
23
18
|
</html>
|
|
@@ -5,16 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>to_s (Mongrel::Stats)</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/stats.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
86: <span class="ruby-ivar">@last_time</span> = <span class="ruby-identifier">now</span>
|
|
18
|
-
87: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 53</span>
|
|
14
|
+
53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
15
|
+
54: <span class="ruby-node">"[#{@name}]: SUM=%0.4f, SUMSQ=%0.4f, N=%0.4f, MEAN=%0.4f, SD=%0.4f, MIN=%0.4f, MAX=%0.4f"</span> <span class="ruby-operator">%</span> [<span class="ruby-ivar">@sum</span>, <span class="ruby-ivar">@sumsq</span>, <span class="ruby-ivar">@n</span>, <span class="ruby-identifier">mean</span>, <span class="ruby-identifier">sd</span>, <span class="ruby-ivar">@min</span>, <span class="ruby-ivar">@max</span>]
|
|
16
|
+
55: <span class="ruby-keyword kw">end</span></pre>
|
|
19
17
|
</body>
|
|
20
18
|
</html>
|
|
@@ -5,15 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>mean (Mongrel::Stats)</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/stats.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
22: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel/stats.rb, line 59</span>
|
|
14
|
+
59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mean</span>
|
|
15
|
+
60: <span class="ruby-ivar">@sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@n</span>
|
|
16
|
+
61: <span class="ruby-keyword kw">end</span></pre>
|
|
18
17
|
</body>
|
|
19
18
|
</html>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>sd (Mongrel::Stats)</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/stats.rb, line 64</span>
|
|
14
|
+
64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sd</span>
|
|
15
|
+
65: <span class="ruby-comment cmt"># (sqrt( ((s).sumsq - ( (s).sum * (s).sum / (s).n)) / ((s).n-1) ))</span>
|
|
16
|
+
66: <span class="ruby-keyword kw">begin</span>
|
|
17
|
+
67: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">sqrt</span>( (<span class="ruby-ivar">@sumsq</span> <span class="ruby-operator">-</span> ( <span class="ruby-ivar">@sum</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@n</span>)) <span class="ruby-operator">/</span> (<span class="ruby-ivar">@n</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) )
|
|
18
|
+
68: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EDOM</span>
|
|
19
|
+
69: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
|
20
|
+
70: <span class="ruby-keyword kw">end</span>
|
|
21
|
+
71: <span class="ruby-keyword kw">end</span></pre>
|
|
22
|
+
</body>
|
|
23
|
+
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>tick (Mongrel::Stats)</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/stats.rb, line 83</span>
|
|
14
|
+
83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tick</span>
|
|
15
|
+
84: <span class="ruby-identifier">now</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
|
|
16
|
+
85: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@last_time</span>)
|
|
17
|
+
86: <span class="ruby-ivar">@last_time</span> = <span class="ruby-identifier">now</span>
|
|
18
|
+
87: <span class="ruby-keyword kw">end</span></pre>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
<div id="description">
|
|
84
84
|
<p>
|
|
85
85
|
The :stats_filter is basically any configured stats filter that
|
|
86
|
-
you&#
|
|
86
|
+
you‘ve added to this same URI. This lets the status handler print out
|
|
87
87
|
statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
|
|
88
88
|
</p>
|
|
89
89
|
|
|
@@ -96,10 +96,10 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
|
|
|
96
96
|
<h3 class="section-bar">Methods</h3>
|
|
97
97
|
|
|
98
98
|
<div class="name-list">
|
|
99
|
-
<a href="#
|
|
100
|
-
<a href="#
|
|
101
|
-
<a href="#
|
|
102
|
-
<a href="#
|
|
99
|
+
<a href="#M000070">describe_listener</a>
|
|
100
|
+
<a href="#M000068">new</a>
|
|
101
|
+
<a href="#M000071">process</a>
|
|
102
|
+
<a href="#M000069">table</a>
|
|
103
103
|
</div>
|
|
104
104
|
</div>
|
|
105
105
|
|
|
@@ -121,12 +121,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
|
|
|
121
121
|
<div id="methods">
|
|
122
122
|
<h3 class="section-bar">Public Class methods</h3>
|
|
123
123
|
|
|
124
|
-
<div id="method-
|
|
125
|
-
<a name="
|
|
124
|
+
<div id="method-M000068" class="method-detail">
|
|
125
|
+
<a name="M000068"></a>
|
|
126
126
|
|
|
127
127
|
<div class="method-heading">
|
|
128
|
-
<a href="StatusHandler.src/
|
|
129
|
-
onclick="popupCode('StatusHandler.src/
|
|
128
|
+
<a href="StatusHandler.src/M000068.html" target="Code" class="method-signature"
|
|
129
|
+
onclick="popupCode('StatusHandler.src/M000068.html');return false;">
|
|
130
130
|
<span class="method-name">new</span><span class="method-args">(ops={})</span>
|
|
131
131
|
</a>
|
|
132
132
|
</div>
|
|
@@ -137,12 +137,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
|
|
|
137
137
|
|
|
138
138
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
139
139
|
|
|
140
|
-
<div id="method-
|
|
141
|
-
<a name="
|
|
140
|
+
<div id="method-M000070" class="method-detail">
|
|
141
|
+
<a name="M000070"></a>
|
|
142
142
|
|
|
143
143
|
<div class="method-heading">
|
|
144
|
-
<a href="StatusHandler.src/
|
|
145
|
-
onclick="popupCode('StatusHandler.src/
|
|
144
|
+
<a href="StatusHandler.src/M000070.html" target="Code" class="method-signature"
|
|
145
|
+
onclick="popupCode('StatusHandler.src/M000070.html');return false;">
|
|
146
146
|
<span class="method-name">describe_listener</span><span class="method-args">()</span>
|
|
147
147
|
</a>
|
|
148
148
|
</div>
|
|
@@ -151,12 +151,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
|
|
|
151
151
|
</div>
|
|
152
152
|
</div>
|
|
153
153
|
|
|
154
|
-
<div id="method-
|
|
155
|
-
<a name="
|
|
154
|
+
<div id="method-M000071" class="method-detail">
|
|
155
|
+
<a name="M000071"></a>
|
|
156
156
|
|
|
157
157
|
<div class="method-heading">
|
|
158
|
-
<a href="StatusHandler.src/
|
|
159
|
-
onclick="popupCode('StatusHandler.src/
|
|
158
|
+
<a href="StatusHandler.src/M000071.html" target="Code" class="method-signature"
|
|
159
|
+
onclick="popupCode('StatusHandler.src/M000071.html');return false;">
|
|
160
160
|
<span class="method-name">process</span><span class="method-args">(request, response)</span>
|
|
161
161
|
</a>
|
|
162
162
|
</div>
|
|
@@ -165,12 +165,12 @@ statistics on how <a href="../Mongrel.html">Mongrel</a> is doing.
|
|
|
165
165
|
</div>
|
|
166
166
|
</div>
|
|
167
167
|
|
|
168
|
-
<div id="method-
|
|
169
|
-
<a name="
|
|
168
|
+
<div id="method-M000069" class="method-detail">
|
|
169
|
+
<a name="M000069"></a>
|
|
170
170
|
|
|
171
171
|
<div class="method-heading">
|
|
172
|
-
<a href="StatusHandler.src/
|
|
173
|
-
onclick="popupCode('StatusHandler.src/
|
|
172
|
+
<a href="StatusHandler.src/M000069.html" target="Code" class="method-signature"
|
|
173
|
+
onclick="popupCode('StatusHandler.src/M000069.html');return false;">
|
|
174
174
|
<span class="method-name">table</span><span class="method-args">(title, rows)</span>
|
|
175
175
|
</a>
|
|
176
176
|
</div>
|
|
@@ -5,38 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>new (Mongrel::StatusHandler)</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/handlers.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
371: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">"settings"</span>, [
|
|
18
|
-
372: [<span class="ruby-value str">"host"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">host</span>],
|
|
19
|
-
373: [<span class="ruby-value str">"port"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">port</span>],
|
|
20
|
-
374: [<span class="ruby-value str">"timeout"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">timeout</span>],
|
|
21
|
-
375: [<span class="ruby-value str">"workers max"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">num_processors</span>],
|
|
22
|
-
376: ])
|
|
23
|
-
377:
|
|
24
|
-
378: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stats</span>
|
|
25
|
-
379: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"<h2>Statistics</h2><p>N means the number of samples, pay attention to MEAN, SD, MIN and MAX."</span>
|
|
26
|
-
380: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"<pre>#{@stats.dump}</pre>"</span>
|
|
27
|
-
381: <span class="ruby-keyword kw">end</span>
|
|
28
|
-
382:
|
|
29
|
-
383: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"<h2>Registered Handlers</h2>"</span>
|
|
30
|
-
384: <span class="ruby-identifier">uris</span> = <span class="ruby-identifier">listener</span>.<span class="ruby-identifier">classifier</span>.<span class="ruby-identifier">handler_map</span>
|
|
31
|
-
385: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">"handlers"</span>, <span class="ruby-identifier">uris</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>,<span class="ruby-identifier">handlers</span><span class="ruby-operator">|</span>
|
|
32
|
-
386: [<span class="ruby-identifier">uri</span>,
|
|
33
|
-
387: <span class="ruby-value str">"<pre>"</span> <span class="ruby-operator">+</span>
|
|
34
|
-
388: <span class="ruby-identifier">handlers</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-operator">+</span>
|
|
35
|
-
389: <span class="ruby-value str">"</pre>"</span>
|
|
36
|
-
390: ]
|
|
37
|
-
391: })
|
|
38
|
-
392:
|
|
39
|
-
393: <span class="ruby-identifier">results</span>
|
|
40
|
-
394: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel/handlers.rb, line 357</span>
|
|
14
|
+
357: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ops</span>={})
|
|
15
|
+
358: <span class="ruby-ivar">@stats</span> = <span class="ruby-identifier">ops</span>[<span class="ruby-identifier">:stats_filter</span>]
|
|
16
|
+
359: <span class="ruby-keyword kw">end</span></pre>
|
|
41
17
|
</body>
|
|
42
18
|
</html>
|
|
@@ -5,16 +5,20 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>table (Mongrel::StatusHandler)</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/handlers.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel/handlers.rb, line 361</span>
|
|
14
|
+
361: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">table</span>(<span class="ruby-identifier">title</span>, <span class="ruby-identifier">rows</span>)
|
|
15
|
+
362: <span class="ruby-identifier">results</span> = <span class="ruby-node">"<table border=\"1\"><tr><th colspan=\"#{rows[0].length}\">#{title}</th></tr>"</span>
|
|
16
|
+
363: <span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cols</span><span class="ruby-operator">|</span>
|
|
17
|
+
364: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"<tr>"</span>
|
|
18
|
+
365: <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"<td>#{col}</td>"</span> }
|
|
19
|
+
366: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"</tr>"</span>
|
|
20
|
+
367: <span class="ruby-keyword kw">end</span>
|
|
21
|
+
368: <span class="ruby-identifier">results</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"</table>"</span>
|
|
22
|
+
369: <span class="ruby-keyword kw">end</span></pre>
|
|
19
23
|
</body>
|
|
20
24
|
</html>
|
|
@@ -0,0 +1,42 @@
|
|
|
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>describe_listener (Mongrel::StatusHandler)</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/handlers.rb, line 371</span>
|
|
14
|
+
371: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">describe_listener</span>
|
|
15
|
+
372: <span class="ruby-identifier">results</span> = <span class="ruby-value str">""</span>
|
|
16
|
+
373: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"<h1>Listener #{listener.host}:#{listener.port}</h1>"</span>
|
|
17
|
+
374: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">"settings"</span>, [
|
|
18
|
+
375: [<span class="ruby-value str">"host"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">host</span>],
|
|
19
|
+
376: [<span class="ruby-value str">"port"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">port</span>],
|
|
20
|
+
377: [<span class="ruby-value str">"timeout"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">timeout</span>],
|
|
21
|
+
378: [<span class="ruby-value str">"workers max"</span>,<span class="ruby-identifier">listener</span>.<span class="ruby-identifier">num_processors</span>],
|
|
22
|
+
379: ])
|
|
23
|
+
380:
|
|
24
|
+
381: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stats</span>
|
|
25
|
+
382: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"<h2>Statistics</h2><p>N means the number of samples, pay attention to MEAN, SD, MIN and MAX."</span>
|
|
26
|
+
383: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"<pre>#{@stats.dump}</pre>"</span>
|
|
27
|
+
384: <span class="ruby-keyword kw">end</span>
|
|
28
|
+
385:
|
|
29
|
+
386: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"<h2>Registered Handlers</h2>"</span>
|
|
30
|
+
387: <span class="ruby-identifier">uris</span> = <span class="ruby-identifier">listener</span>.<span class="ruby-identifier">classifier</span>.<span class="ruby-identifier">handler_map</span>
|
|
31
|
+
388: <span class="ruby-identifier">results</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">table</span>(<span class="ruby-value str">"handlers"</span>, <span class="ruby-identifier">uris</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>,<span class="ruby-identifier">handlers</span><span class="ruby-operator">|</span>
|
|
32
|
+
389: [<span class="ruby-identifier">uri</span>,
|
|
33
|
+
390: <span class="ruby-value str">"<pre>"</span> <span class="ruby-operator">+</span>
|
|
34
|
+
391: <span class="ruby-identifier">handlers</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-operator">+</span>
|
|
35
|
+
392: <span class="ruby-value str">"</pre>"</span>
|
|
36
|
+
393: ]
|
|
37
|
+
394: })
|
|
38
|
+
395:
|
|
39
|
+
396: <span class="ruby-identifier">results</span>
|
|
40
|
+
397: <span class="ruby-keyword kw">end</span></pre>
|
|
41
|
+
</body>
|
|
42
|
+
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>process (Mongrel::StatusHandler)</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/handlers.rb, line 399</span>
|
|
14
|
+
399: <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
|
+
400: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">start</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>
|
|
16
|
+
401: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">"<html><body><title>Mongrel Server Status</title>\n\#{describe_listener}\n</body></html>\n"</span>
|
|
17
|
+
402: <span class="ruby-keyword kw">end</span>
|
|
18
|
+
403: <span class="ruby-keyword kw">end</span></pre>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -90,12 +90,12 @@
|
|
|
90
90
|
<h3 class="section-bar">Methods</h3>
|
|
91
91
|
|
|
92
92
|
<div class="name-list">
|
|
93
|
-
<a href="#
|
|
94
|
-
<a href="#
|
|
95
|
-
<a href="#
|
|
96
|
-
<a href="#
|
|
97
|
-
<a href="#
|
|
98
|
-
<a href="#
|
|
93
|
+
<a href="#M000088">inspect</a>
|
|
94
|
+
<a href="#M000089">new</a>
|
|
95
|
+
<a href="#M000090">register</a>
|
|
96
|
+
<a href="#M000092">resolve</a>
|
|
97
|
+
<a href="#M000091">unregister</a>
|
|
98
|
+
<a href="#M000087">uris</a>
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
|
|
@@ -130,12 +130,12 @@
|
|
|
130
130
|
<div id="methods">
|
|
131
131
|
<h3 class="section-bar">Public Class methods</h3>
|
|
132
132
|
|
|
133
|
-
<div id="method-
|
|
134
|
-
<a name="
|
|
133
|
+
<div id="method-M000089" class="method-detail">
|
|
134
|
+
<a name="M000089"></a>
|
|
135
135
|
|
|
136
136
|
<div class="method-heading">
|
|
137
|
-
<a href="URIClassifier.src/
|
|
138
|
-
onclick="popupCode('URIClassifier.src/
|
|
137
|
+
<a href="URIClassifier.src/M000089.html" target="Code" class="method-signature"
|
|
138
|
+
onclick="popupCode('URIClassifier.src/M000089.html');return false;">
|
|
139
139
|
<span class="method-name">URIClassifier.new → URIClassifier<br />
|
|
140
140
|
</span>
|
|
141
141
|
</a>
|
|
@@ -143,10 +143,10 @@
|
|
|
143
143
|
|
|
144
144
|
<div class="method-description">
|
|
145
145
|
<p>
|
|
146
|
-
Initializes a
|
|
147
|
-
that you can use to
|
|
148
|
-
|
|
149
|
-
with URIs.
|
|
146
|
+
Initializes a <a href="URIClassifier.html#M000089">new</a> <a
|
|
147
|
+
href="URIClassifier.html">URIClassifier</a> object that you can use to
|
|
148
|
+
associate URI sequences with objects. You can actually use it with any
|
|
149
|
+
string sequence and any objects, but it‘s mostly used with URIs.
|
|
150
150
|
</p>
|
|
151
151
|
<p>
|
|
152
152
|
It uses TST from <a
|
|
@@ -162,29 +162,30 @@ portion.
|
|
|
162
162
|
|
|
163
163
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
164
164
|
|
|
165
|
-
<div id="method-
|
|
166
|
-
<a name="
|
|
165
|
+
<div id="method-M000088" class="method-detail">
|
|
166
|
+
<a name="M000088"></a>
|
|
167
167
|
|
|
168
168
|
<div class="method-heading">
|
|
169
|
-
<a href="URIClassifier.src/
|
|
170
|
-
onclick="popupCode('URIClassifier.src/
|
|
169
|
+
<a href="URIClassifier.src/M000088.html" target="Code" class="method-signature"
|
|
170
|
+
onclick="popupCode('URIClassifier.src/M000088.html');return false;">
|
|
171
171
|
<span class="method-name">inspect</span><span class="method-args">()</span>
|
|
172
172
|
</a>
|
|
173
173
|
</div>
|
|
174
174
|
|
|
175
175
|
<div class="method-description">
|
|
176
176
|
<p>
|
|
177
|
-
Simply does an inspect that looks
|
|
177
|
+
Simply does an <a href="URIClassifier.html#M000088">inspect</a> that looks
|
|
178
|
+
like a Hash <a href="URIClassifier.html#M000088">inspect</a>.
|
|
178
179
|
</p>
|
|
179
180
|
</div>
|
|
180
181
|
</div>
|
|
181
182
|
|
|
182
|
-
<div id="method-
|
|
183
|
-
<a name="
|
|
183
|
+
<div id="method-M000090" class="method-detail">
|
|
184
|
+
<a name="M000090"></a>
|
|
184
185
|
|
|
185
186
|
<div class="method-heading">
|
|
186
|
-
<a href="URIClassifier.src/
|
|
187
|
-
onclick="popupCode('URIClassifier.src/
|
|
187
|
+
<a href="URIClassifier.src/M000090.html" target="Code" class="method-signature"
|
|
188
|
+
onclick="popupCode('URIClassifier.src/M000090.html');return false;">
|
|
188
189
|
<span class="method-name">uc.register("/someuri", SampleHandler.new) → nil<br />
|
|
189
190
|
</span>
|
|
190
191
|
</a>
|
|
@@ -194,27 +195,28 @@ Simply does an inspect that looks like a Hash inspect.
|
|
|
194
195
|
<p>
|
|
195
196
|
Registers the SampleHandler (one for all requests) with the
|
|
196
197
|
"/someuri". When URIClassifier::resolve is called with
|
|
197
|
-
"/someuri" it&#
|
|
198
|
-
called with "/someuri/iwant" it&#
|
|
198
|
+
"/someuri" it‘ll return SampleHandler immediately. When
|
|
199
|
+
called with "/someuri/iwant" it‘ll also return SomeHandler
|
|
199
200
|
immediatly, with no additional searches, but it will return path info with
|
|
200
201
|
"/iwant".
|
|
201
202
|
</p>
|
|
202
203
|
<p>
|
|
203
|
-
You actually can reuse this class to
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
204
|
+
You actually can reuse this class to <a
|
|
205
|
+
href="URIClassifier.html#M000090">register</a> nearly anything and quickly
|
|
206
|
+
<a href="URIClassifier.html#M000092">resolve</a> it. This could be used for
|
|
207
|
+
caching, fast mapping, etc. The downside is it uses much more memory than a
|
|
208
|
+
Hash, but it can be a lot faster. It‘s main advantage is that it
|
|
209
|
+
works on prefixes, which is damn hard to get right with a Hash.
|
|
208
210
|
</p>
|
|
209
211
|
</div>
|
|
210
212
|
</div>
|
|
211
213
|
|
|
212
|
-
<div id="method-
|
|
213
|
-
<a name="
|
|
214
|
+
<div id="method-M000092" class="method-detail">
|
|
215
|
+
<a name="M000092"></a>
|
|
214
216
|
|
|
215
217
|
<div class="method-heading">
|
|
216
|
-
<a href="URIClassifier.src/
|
|
217
|
-
onclick="popupCode('URIClassifier.src/
|
|
218
|
+
<a href="URIClassifier.src/M000092.html" target="Code" class="method-signature"
|
|
219
|
+
onclick="popupCode('URIClassifier.src/M000092.html');return false;">
|
|
218
220
|
<span class="method-name">uc.resolve("/someuri") → "/someuri", "", handler<br />
|
|
219
221
|
uc.resolve("/someuri/pathinfo") → "/someuri", "/pathinfo", handler<br />
|
|
220
222
|
uc.resolve("/notfound/orhere") → nil, nil, nil<br />
|
|
@@ -226,16 +228,17 @@ uc.resolve("/path/from/root") → "/", "/path/from/root", handler # if uc.re
|
|
|
226
228
|
|
|
227
229
|
<div class="method-description">
|
|
228
230
|
<p>
|
|
229
|
-
Attempts to resolve either the
|
|
230
|
-
|
|
231
|
-
handler (usually an <a
|
|
232
|
-
doesn&#
|
|
233
|
-
returns nil,nil,nil.
|
|
231
|
+
Attempts to <a href="URIClassifier.html#M000092">resolve</a> either the
|
|
232
|
+
whole URI or at the longest prefix, returning the prefix (as script_info),
|
|
233
|
+
path (as path_info), and registered handler (usually an <a
|
|
234
|
+
href="HttpHandler.html">HttpHandler</a>). If it doesn‘t find a
|
|
235
|
+
handler registered at the longest match then it returns nil,nil,nil.
|
|
234
236
|
</p>
|
|
235
237
|
<p>
|
|
236
|
-
Because the resolver uses a trie you are able to
|
|
237
|
-
<b>any</b>
|
|
238
|
-
|
|
238
|
+
Because the resolver uses a trie you are able to <a
|
|
239
|
+
href="URIClassifier.html#M000090">register</a> a handler at <b>any</b>
|
|
240
|
+
character in the URI and it will be handled as long as it‘s the
|
|
241
|
+
longest prefix. So, if you registered handler 1 at
|
|
239
242
|
"/something/lik", and 2 at "/something/like/that", then
|
|
240
243
|
a a search for "/something/like" would give you 1. A search for
|
|
241
244
|
"/something/like/that/too" would give you 2.
|
|
@@ -243,13 +246,13 @@ a a search for "/something/like" would give you 1. A search for
|
|
|
243
246
|
<p>
|
|
244
247
|
This is very powerful since it means you can also attach handlers to parts
|
|
245
248
|
of the ; (semi-colon) separated path params, any part of the path, use off
|
|
246
|
-
chars, anything really. It also means that it&#
|
|
249
|
+
chars, anything really. It also means that it‘s very efficient to do
|
|
247
250
|
this only taking as long as the URI has characters.
|
|
248
251
|
</p>
|
|
249
252
|
<p>
|
|
250
253
|
A slight modification to the CGI 1.2 standard is given for handlers
|
|
251
254
|
registered to "/". CGI expects all CGI scripts to be at some
|
|
252
|
-
script path, so it doesn&#
|
|
255
|
+
script path, so it doesn‘t really say anything about a script that
|
|
253
256
|
handles the root. To make this work, the resolver will detect that the
|
|
254
257
|
requested handler is at "/", and return that for script_name, and
|
|
255
258
|
then simply return the full URI back as path_info.
|
|
@@ -261,12 +264,12 @@ Don‘t try other string-like stuff yet.
|
|
|
261
264
|
</div>
|
|
262
265
|
</div>
|
|
263
266
|
|
|
264
|
-
<div id="method-
|
|
265
|
-
<a name="
|
|
267
|
+
<div id="method-M000091" class="method-detail">
|
|
268
|
+
<a name="M000091"></a>
|
|
266
269
|
|
|
267
270
|
<div class="method-heading">
|
|
268
|
-
<a href="URIClassifier.src/
|
|
269
|
-
onclick="popupCode('URIClassifier.src/
|
|
271
|
+
<a href="URIClassifier.src/M000091.html" target="Code" class="method-signature"
|
|
272
|
+
onclick="popupCode('URIClassifier.src/M000091.html');return false;">
|
|
270
273
|
<span class="method-name">uc.unregister("/someuri")<br />
|
|
271
274
|
</span>
|
|
272
275
|
</a>
|
|
@@ -274,17 +277,17 @@ Don‘t try other string-like stuff yet.
|
|
|
274
277
|
|
|
275
278
|
<div class="method-description">
|
|
276
279
|
<p>
|
|
277
|
-
Yep, just removes this uri and it&#
|
|
280
|
+
Yep, just removes this uri and it‘s handler from the trie.
|
|
278
281
|
</p>
|
|
279
282
|
</div>
|
|
280
283
|
</div>
|
|
281
284
|
|
|
282
|
-
<div id="method-
|
|
283
|
-
<a name="
|
|
285
|
+
<div id="method-M000087" class="method-detail">
|
|
286
|
+
<a name="M000087"></a>
|
|
284
287
|
|
|
285
288
|
<div class="method-heading">
|
|
286
|
-
<a href="URIClassifier.src/
|
|
287
|
-
onclick="popupCode('URIClassifier.src/
|
|
289
|
+
<a href="URIClassifier.src/M000087.html" target="Code" class="method-signature"
|
|
290
|
+
onclick="popupCode('URIClassifier.src/M000087.html');return false;">
|
|
288
291
|
<span class="method-name">uris</span><span class="method-args">()</span>
|
|
289
292
|
</a>
|
|
290
293
|
</div>
|
|
@@ -293,8 +296,8 @@ Yep, just removes this uri and it’s handler from the trie.
|
|
|
293
296
|
<p>
|
|
294
297
|
Returns the URIs that have been registered with this classifier so far. The
|
|
295
298
|
URIs returned should not be modified as this will cause a memory leak. You
|
|
296
|
-
can use this to inspect the
|
|
297
|
-
href="URIClassifier.html">URIClassifier</a>.
|
|
299
|
+
can use this to <a href="URIClassifier.html#M000088">inspect</a> the
|
|
300
|
+
contents of the <a href="URIClassifier.html">URIClassifier</a>.
|
|
298
301
|
</p>
|
|
299
302
|
</div>
|
|
300
303
|
</div>
|