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,22 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>new (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
405: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 398</span>
|
|
14
|
+
398: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">socket</span>)
|
|
15
|
+
399: <span class="ruby-ivar">@socket</span> = <span class="ruby-identifier">socket</span>
|
|
16
|
+
400: <span class="ruby-ivar">@body</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
|
|
17
|
+
401: <span class="ruby-ivar">@status</span> = <span class="ruby-value">404</span>
|
|
18
|
+
402: <span class="ruby-ivar">@header</span> = <span class="ruby-constant">HeaderOut</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>)
|
|
19
|
+
403: <span class="ruby-ivar">@header</span>[<span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">DATE</span>] = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">httpdate</span>
|
|
20
|
+
404: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">false</span>
|
|
21
|
+
405: <span class="ruby-ivar">@header_sent</span> = <span class="ruby-keyword kw">false</span>
|
|
22
|
+
406: <span class="ruby-ivar">@status_sent</span> = <span class="ruby-keyword kw">false</span>
|
|
23
|
+
407: <span class="ruby-keyword kw">end</span></pre>
|
|
25
24
|
</body>
|
|
26
25
|
</html>
|
|
@@ -5,18 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>start (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
412: <span class="ruby-keyword kw">end</span>
|
|
20
|
-
413: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 417</span>
|
|
14
|
+
417: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">status</span>=<span class="ruby-value">200</span>, <span class="ruby-identifier">finalize</span>=<span class="ruby-keyword kw">false</span>)
|
|
15
|
+
418: <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">status</span>.<span class="ruby-identifier">to_i</span>
|
|
16
|
+
419: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@header</span>, <span class="ruby-ivar">@body</span>
|
|
17
|
+
420: <span class="ruby-identifier">finished</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">finalize</span>
|
|
18
|
+
421: <span class="ruby-keyword kw">end</span></pre>
|
|
21
19
|
</body>
|
|
22
20
|
</html>
|
|
@@ -5,18 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>reset (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 426</span>
|
|
14
|
+
426: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
|
|
15
|
+
427: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@body_sent</span>
|
|
16
|
+
428: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"You have already sent the request body."</span>
|
|
17
|
+
429: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@header_sent</span>
|
|
18
|
+
430: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"You have already sent the request headers."</span>
|
|
19
|
+
431: <span class="ruby-keyword kw">else</span>
|
|
20
|
+
432: <span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">truncate</span>(<span class="ruby-value">0</span>)
|
|
21
|
+
433: <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">close</span>
|
|
22
|
+
434: <span class="ruby-ivar">@body</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
|
|
23
|
+
435: <span class="ruby-keyword kw">end</span>
|
|
24
|
+
436: <span class="ruby-keyword kw">end</span></pre>
|
|
21
25
|
</body>
|
|
22
26
|
</html>
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>send_status (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 438</span>
|
|
14
|
+
438: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_status</span>(<span class="ruby-identifier">content_length</span>=<span class="ruby-ivar">@body</span>.<span class="ruby-identifier">length</span>)
|
|
15
|
+
439: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@status_sent</span>
|
|
16
|
+
440: <span class="ruby-ivar">@header</span>[<span class="ruby-value str">'Content-Length'</span>] = <span class="ruby-identifier">content_length</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@status</span> <span class="ruby-operator">==</span> <span class="ruby-value">304</span>
|
|
17
|
+
441: <span class="ruby-identifier">write</span>(<span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">STATUS_FORMAT</span> <span class="ruby-operator">%</span> [<span class="ruby-ivar">@status</span>, <span class="ruby-constant">HTTP_STATUS_CODES</span>[<span class="ruby-ivar">@status</span>]])
|
|
18
|
+
442: <span class="ruby-ivar">@status_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
19
|
+
443: <span class="ruby-keyword kw">end</span>
|
|
20
|
+
444: <span class="ruby-keyword kw">end</span></pre>
|
|
21
21
|
</body>
|
|
22
22
|
</html>
|
|
@@ -5,27 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>send_header (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
442: <span class="ruby-identifier">write</span>(<span class="ruby-identifier">chunk</span>)
|
|
22
|
-
443: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Object</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">exc</span>
|
|
23
|
-
444: <span class="ruby-keyword kw">break</span>
|
|
24
|
-
445: <span class="ruby-keyword kw">end</span>
|
|
25
|
-
446: <span class="ruby-keyword kw">end</span>
|
|
26
|
-
447: <span class="ruby-keyword kw">end</span>
|
|
27
|
-
448: <span class="ruby-keyword kw">end</span>
|
|
28
|
-
449: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
29
|
-
450: <span class="ruby-keyword kw">end</span></pre>
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 446</span>
|
|
14
|
+
446: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_header</span>
|
|
15
|
+
447: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@header_sent</span>
|
|
16
|
+
448: <span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">rewind</span>
|
|
17
|
+
449: <span class="ruby-identifier">write</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">out</span>.<span class="ruby-identifier">read</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">LINE_END</span>)
|
|
18
|
+
450: <span class="ruby-ivar">@header_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
19
|
+
451: <span class="ruby-keyword kw">end</span>
|
|
20
|
+
452: <span class="ruby-keyword kw">end</span></pre>
|
|
30
21
|
</body>
|
|
31
22
|
</html>
|
|
@@ -5,17 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>send_body (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 454</span>
|
|
14
|
+
454: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_body</span>
|
|
15
|
+
455: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@body_sent</span>
|
|
16
|
+
456: <span class="ruby-ivar">@body</span>.<span class="ruby-identifier">rewind</span>
|
|
17
|
+
457: <span class="ruby-identifier">write</span>(<span class="ruby-ivar">@body</span>.<span class="ruby-identifier">read</span>)
|
|
18
|
+
458: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
19
|
+
459: <span class="ruby-keyword kw">end</span>
|
|
20
|
+
460: <span class="ruby-keyword kw">end</span></pre>
|
|
20
21
|
</body>
|
|
21
22
|
</html>
|
|
@@ -5,16 +5,27 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>send_file (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 466</span>
|
|
14
|
+
466: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_file</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">small_file</span> = <span class="ruby-keyword kw">false</span>)
|
|
15
|
+
467: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">small_file</span>
|
|
16
|
+
468: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span>, <span class="ruby-value str">"rb"</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@socket</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span> }
|
|
17
|
+
469: <span class="ruby-keyword kw">else</span>
|
|
18
|
+
470: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span>, <span class="ruby-value str">"rb"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
|
19
|
+
471: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">chunk</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">Const</span><span class="ruby-operator">::</span><span class="ruby-constant">CHUNK_SIZE</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">chunk</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
20
|
+
472: <span class="ruby-keyword kw">begin</span>
|
|
21
|
+
473: <span class="ruby-identifier">write</span>(<span class="ruby-identifier">chunk</span>)
|
|
22
|
+
474: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Object</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">exc</span>
|
|
23
|
+
475: <span class="ruby-keyword kw">break</span>
|
|
24
|
+
476: <span class="ruby-keyword kw">end</span>
|
|
25
|
+
477: <span class="ruby-keyword kw">end</span>
|
|
26
|
+
478: <span class="ruby-keyword kw">end</span>
|
|
27
|
+
479: <span class="ruby-keyword kw">end</span>
|
|
28
|
+
480: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
29
|
+
481: <span class="ruby-keyword kw">end</span></pre>
|
|
19
30
|
</body>
|
|
20
31
|
</html>
|
|
@@ -5,16 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>socket_error (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 483</span>
|
|
14
|
+
483: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">socket_error</span>(<span class="ruby-identifier">details</span>)
|
|
15
|
+
484: <span class="ruby-comment cmt"># ignore these since it means the client closed off early</span>
|
|
16
|
+
485: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Object</span>
|
|
17
|
+
486: <span class="ruby-identifier">done</span> = <span class="ruby-keyword kw">true</span>
|
|
18
|
+
487: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">details</span>
|
|
19
|
+
488: <span class="ruby-keyword kw">end</span></pre>
|
|
19
20
|
</body>
|
|
20
21
|
</html>
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 490</span>
|
|
14
|
+
490: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
|
|
15
|
+
491: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
|
|
16
|
+
492: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">details</span>
|
|
17
|
+
493: <span class="ruby-identifier">socket_error</span>(<span class="ruby-identifier">details</span>)
|
|
18
|
+
494: <span class="ruby-keyword kw">end</span></pre>
|
|
19
19
|
</body>
|
|
20
20
|
</html>
|
|
@@ -5,14 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>finished (Mongrel::HttpResponse)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 498</span>
|
|
14
|
+
498: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">finished</span>
|
|
15
|
+
499: <span class="ruby-identifier">send_status</span>
|
|
16
|
+
500: <span class="ruby-identifier">send_header</span>
|
|
17
|
+
501: <span class="ruby-identifier">send_body</span>
|
|
18
|
+
502: <span class="ruby-keyword kw">end</span></pre>
|
|
17
19
|
</body>
|
|
18
20
|
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>done= (Mongrel::HttpResponse)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 506</span>
|
|
14
|
+
506: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done=</span>(<span class="ruby-identifier">val</span>)
|
|
15
|
+
507: <span class="ruby-ivar">@status_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
16
|
+
508: <span class="ruby-ivar">@header_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
17
|
+
509: <span class="ruby-ivar">@body_sent</span> = <span class="ruby-keyword kw">true</span>
|
|
18
|
+
510: <span class="ruby-keyword kw">end</span></pre>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>done (Mongrel::HttpResponse)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/mongrel.rb, line 512</span>
|
|
14
|
+
512: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done</span>
|
|
15
|
+
513: (<span class="ruby-ivar">@status_sent</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@header_sent</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@body_sent</span>)
|
|
16
|
+
514: <span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
|
@@ -83,9 +83,9 @@
|
|
|
83
83
|
This is the main driver of <a href="../Mongrel.html">Mongrel</a>, while the
|
|
84
84
|
<a href="HttpParser.html">Mongrel::HttpParser</a> and <a
|
|
85
85
|
href="URIClassifier.html">Mongrel::URIClassifier</a> make up the majority
|
|
86
|
-
of how the server functions. It&#
|
|
86
|
+
of how the server functions. It‘s a very simple class that just has a
|
|
87
87
|
thread accepting connections and a simple <a
|
|
88
|
-
href="HttpServer.html#
|
|
88
|
+
href="HttpServer.html#M000058">HttpServer.process_client</a> function to do
|
|
89
89
|
the heavy lifting with the <a href="../IO.html">IO</a> and Ruby.
|
|
90
90
|
</p>
|
|
91
91
|
<p>
|
|
@@ -97,16 +97,16 @@ You use it by doing the following:
|
|
|
97
97
|
server.run.join
|
|
98
98
|
</pre>
|
|
99
99
|
<p>
|
|
100
|
-
The last line can be just server.run if you don&#
|
|
101
|
-
thread used. If you don&#
|
|
100
|
+
The last line can be just server.run if you don‘t want to join the
|
|
101
|
+
thread used. If you don‘t though Ruby will mysteriously just exit on
|
|
102
102
|
you.
|
|
103
103
|
</p>
|
|
104
104
|
<p>
|
|
105
|
-
Ruby&#
|
|
105
|
+
Ruby‘s thread implementation is "interesting" to say the
|
|
106
106
|
least. Experiments with <b>many</b> different types of <a
|
|
107
107
|
href="../IO.html">IO</a> processing simply cannot make a dent in it. Future
|
|
108
108
|
releases of <a href="../Mongrel.html">Mongrel</a> will find other creative
|
|
109
|
-
ways to make threads faster, but don&#
|
|
109
|
+
ways to make threads faster, but don‘t hold your breath until Ruby
|
|
110
110
|
1.9 is actually finally useful.
|
|
111
111
|
</p>
|
|
112
112
|
|
|
@@ -119,15 +119,15 @@ ways to make threads faster, but don’t hold your breath until Ruby
|
|
|
119
119
|
<h3 class="section-bar">Methods</h3>
|
|
120
120
|
|
|
121
121
|
<div class="name-list">
|
|
122
|
-
<a href="#
|
|
123
|
-
<a href="#
|
|
124
|
-
<a href="#
|
|
125
|
-
<a href="#
|
|
126
|
-
<a href="#
|
|
127
|
-
<a href="#
|
|
128
|
-
<a href="#
|
|
129
|
-
<a href="#
|
|
130
|
-
<a href="#
|
|
122
|
+
<a href="#M000061">configure_socket_options</a>
|
|
123
|
+
<a href="#M000060">graceful_shutdown</a>
|
|
124
|
+
<a href="#M000057">new</a>
|
|
125
|
+
<a href="#M000058">process_client</a>
|
|
126
|
+
<a href="#M000059">reap_dead_workers</a>
|
|
127
|
+
<a href="#M000063">register</a>
|
|
128
|
+
<a href="#M000062">run</a>
|
|
129
|
+
<a href="#M000065">stop</a>
|
|
130
|
+
<a href="#M000064">unregister</a>
|
|
131
131
|
</div>
|
|
132
132
|
</div>
|
|
133
133
|
|
|
@@ -192,12 +192,12 @@ ways to make threads faster, but don’t hold your breath until Ruby
|
|
|
192
192
|
<div id="methods">
|
|
193
193
|
<h3 class="section-bar">Public Class methods</h3>
|
|
194
194
|
|
|
195
|
-
<div id="method-
|
|
196
|
-
<a name="
|
|
195
|
+
<div id="method-M000057" class="method-detail">
|
|
196
|
+
<a name="M000057"></a>
|
|
197
197
|
|
|
198
198
|
<div class="method-heading">
|
|
199
|
-
<a href="HttpServer.src/
|
|
200
|
-
onclick="popupCode('HttpServer.src/
|
|
199
|
+
<a href="HttpServer.src/M000057.html" target="Code" class="method-signature"
|
|
200
|
+
onclick="popupCode('HttpServer.src/M000057.html');return false;">
|
|
201
201
|
<span class="method-name">new</span><span class="method-args">(host, port, num_processors=(2**30-1), timeout=0)</span>
|
|
202
202
|
</a>
|
|
203
203
|
</div>
|
|
@@ -205,8 +205,8 @@ ways to make threads faster, but don’t hold your breath until Ruby
|
|
|
205
205
|
<div class="method-description">
|
|
206
206
|
<p>
|
|
207
207
|
Creates a working server on host:port (strange things happen if port
|
|
208
|
-
isn&#
|
|
209
|
-
HttpServer.acceptor.join to join the thread that&#
|
|
208
|
+
isn‘t a Number). Use HttpServer::run to start the server and
|
|
209
|
+
HttpServer.acceptor.join to join the thread that‘s processing
|
|
210
210
|
incoming requests on the socket.
|
|
211
211
|
</p>
|
|
212
212
|
<p>
|
|
@@ -214,7 +214,7 @@ The num_processors optional argument is the maximum number of concurrent
|
|
|
214
214
|
processors to accept, anything over this is closed immediately to maintain
|
|
215
215
|
server processing performance. This may seem mean but it is the most
|
|
216
216
|
efficient way to deal with overload. Other schemes involve still parsing
|
|
217
|
-
the client&#
|
|
217
|
+
the client‘s request which defeats the point of an overload handling
|
|
218
218
|
system.
|
|
219
219
|
</p>
|
|
220
220
|
<p>
|
|
@@ -222,22 +222,18 @@ The timeout parameter is a sleep timeout (in hundredths of a second) that
|
|
|
222
222
|
is placed between socket.accept calls in order to give the server a cheap
|
|
223
223
|
throttle time. It defaults to 0 and actually if it is 0 then the sleep is
|
|
224
224
|
not done at all.
|
|
225
|
-
</p>
|
|
226
|
-
<p>
|
|
227
|
-
TODO: Find out if anyone actually uses the timeout option since it seems to
|
|
228
|
-
cause problems on FBSD.
|
|
229
225
|
</p>
|
|
230
226
|
</div>
|
|
231
227
|
</div>
|
|
232
228
|
|
|
233
229
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
234
230
|
|
|
235
|
-
<div id="method-
|
|
236
|
-
<a name="
|
|
231
|
+
<div id="method-M000061" class="method-detail">
|
|
232
|
+
<a name="M000061"></a>
|
|
237
233
|
|
|
238
234
|
<div class="method-heading">
|
|
239
|
-
<a href="HttpServer.src/
|
|
240
|
-
onclick="popupCode('HttpServer.src/
|
|
235
|
+
<a href="HttpServer.src/M000061.html" target="Code" class="method-signature"
|
|
236
|
+
onclick="popupCode('HttpServer.src/M000061.html');return false;">
|
|
241
237
|
<span class="method-name">configure_socket_options</span><span class="method-args">()</span>
|
|
242
238
|
</a>
|
|
243
239
|
</div>
|
|
@@ -246,12 +242,12 @@ cause problems on FBSD.
|
|
|
246
242
|
</div>
|
|
247
243
|
</div>
|
|
248
244
|
|
|
249
|
-
<div id="method-
|
|
250
|
-
<a name="
|
|
245
|
+
<div id="method-M000060" class="method-detail">
|
|
246
|
+
<a name="M000060"></a>
|
|
251
247
|
|
|
252
248
|
<div class="method-heading">
|
|
253
|
-
<a href="HttpServer.src/
|
|
254
|
-
onclick="popupCode('HttpServer.src/
|
|
249
|
+
<a href="HttpServer.src/M000060.html" target="Code" class="method-signature"
|
|
250
|
+
onclick="popupCode('HttpServer.src/M000060.html');return false;">
|
|
255
251
|
<span class="method-name">graceful_shutdown</span><span class="method-args">()</span>
|
|
256
252
|
</a>
|
|
257
253
|
</div>
|
|
@@ -266,12 +262,12 @@ much longer.
|
|
|
266
262
|
</div>
|
|
267
263
|
</div>
|
|
268
264
|
|
|
269
|
-
<div id="method-
|
|
270
|
-
<a name="
|
|
265
|
+
<div id="method-M000058" class="method-detail">
|
|
266
|
+
<a name="M000058"></a>
|
|
271
267
|
|
|
272
268
|
<div class="method-heading">
|
|
273
|
-
<a href="HttpServer.src/
|
|
274
|
-
onclick="popupCode('HttpServer.src/
|
|
269
|
+
<a href="HttpServer.src/M000058.html" target="Code" class="method-signature"
|
|
270
|
+
onclick="popupCode('HttpServer.src/M000058.html');return false;">
|
|
275
271
|
<span class="method-name">process_client</span><span class="method-args">(client)</span>
|
|
276
272
|
</a>
|
|
277
273
|
</div>
|
|
@@ -280,7 +276,7 @@ much longer.
|
|
|
280
276
|
<p>
|
|
281
277
|
Does the majority of the <a href="../IO.html">IO</a> processing. It has
|
|
282
278
|
been written in Ruby using about 7 different <a href="../IO.html">IO</a>
|
|
283
|
-
processing strategies and no matter how it&#
|
|
279
|
+
processing strategies and no matter how it‘s done the performance
|
|
284
280
|
just does not improve. It is currently carefully constructed to make sure
|
|
285
281
|
that it gets the best possible performance, but anyone who thinks they can
|
|
286
282
|
make it faster is more than welcome to take a crack at it.
|
|
@@ -288,12 +284,12 @@ make it faster is more than welcome to take a crack at it.
|
|
|
288
284
|
</div>
|
|
289
285
|
</div>
|
|
290
286
|
|
|
291
|
-
<div id="method-
|
|
292
|
-
<a name="
|
|
287
|
+
<div id="method-M000059" class="method-detail">
|
|
288
|
+
<a name="M000059"></a>
|
|
293
289
|
|
|
294
290
|
<div class="method-heading">
|
|
295
|
-
<a href="HttpServer.src/
|
|
296
|
-
onclick="popupCode('HttpServer.src/
|
|
291
|
+
<a href="HttpServer.src/M000059.html" target="Code" class="method-signature"
|
|
292
|
+
onclick="popupCode('HttpServer.src/M000059.html');return false;">
|
|
297
293
|
<span class="method-name">reap_dead_workers</span><span class="method-args">(reason='unknown')</span>
|
|
298
294
|
</a>
|
|
299
295
|
</div>
|
|
@@ -308,12 +304,12 @@ done. It only runs if there are workers to reap.
|
|
|
308
304
|
</div>
|
|
309
305
|
</div>
|
|
310
306
|
|
|
311
|
-
<div id="method-
|
|
312
|
-
<a name="
|
|
307
|
+
<div id="method-M000063" class="method-detail">
|
|
308
|
+
<a name="M000063"></a>
|
|
313
309
|
|
|
314
310
|
<div class="method-heading">
|
|
315
|
-
<a href="HttpServer.src/
|
|
316
|
-
onclick="popupCode('HttpServer.src/
|
|
311
|
+
<a href="HttpServer.src/M000063.html" target="Code" class="method-signature"
|
|
312
|
+
onclick="popupCode('HttpServer.src/M000063.html');return false;">
|
|
317
313
|
<span class="method-name">register</span><span class="method-args">(uri, handler, in_front=false)</span>
|
|
318
314
|
</a>
|
|
319
315
|
</div>
|
|
@@ -322,24 +318,24 @@ done. It only runs if there are workers to reap.
|
|
|
322
318
|
<p>
|
|
323
319
|
Simply registers a handler with the internal <a
|
|
324
320
|
href="URIClassifier.html">URIClassifier</a>. When the URI is found in the
|
|
325
|
-
prefix of a request then your handler&#
|
|
321
|
+
prefix of a request then your handler‘s HttpHandler::process method
|
|
326
322
|
is called. See <a
|
|
327
|
-
href="URIClassifier.html#
|
|
323
|
+
href="URIClassifier.html#M000090">Mongrel::URIClassifier#register</a> for
|
|
328
324
|
more information.
|
|
329
325
|
</p>
|
|
330
326
|
<p>
|
|
331
327
|
If you set in_front=true then the passed in handler will be put in front in
|
|
332
|
-
the list. Otherwise it&#
|
|
328
|
+
the list. Otherwise it‘s placed at the end of the list.
|
|
333
329
|
</p>
|
|
334
330
|
</div>
|
|
335
331
|
</div>
|
|
336
332
|
|
|
337
|
-
<div id="method-
|
|
338
|
-
<a name="
|
|
333
|
+
<div id="method-M000062" class="method-detail">
|
|
334
|
+
<a name="M000062"></a>
|
|
339
335
|
|
|
340
336
|
<div class="method-heading">
|
|
341
|
-
<a href="HttpServer.src/
|
|
342
|
-
onclick="popupCode('HttpServer.src/
|
|
337
|
+
<a href="HttpServer.src/M000062.html" target="Code" class="method-signature"
|
|
338
|
+
onclick="popupCode('HttpServer.src/M000062.html');return false;">
|
|
343
339
|
<span class="method-name">run</span><span class="method-args">()</span>
|
|
344
340
|
</a>
|
|
345
341
|
</div>
|
|
@@ -353,12 +349,12 @@ later.
|
|
|
353
349
|
</div>
|
|
354
350
|
</div>
|
|
355
351
|
|
|
356
|
-
<div id="method-
|
|
357
|
-
<a name="
|
|
352
|
+
<div id="method-M000065" class="method-detail">
|
|
353
|
+
<a name="M000065"></a>
|
|
358
354
|
|
|
359
355
|
<div class="method-heading">
|
|
360
|
-
<a href="HttpServer.src/
|
|
361
|
-
onclick="popupCode('HttpServer.src/
|
|
356
|
+
<a href="HttpServer.src/M000065.html" target="Code" class="method-signature"
|
|
357
|
+
onclick="popupCode('HttpServer.src/M000065.html');return false;">
|
|
362
358
|
<span class="method-name">stop</span><span class="method-args">()</span>
|
|
363
359
|
</a>
|
|
364
360
|
</div>
|
|
@@ -371,12 +367,12 @@ the request queue before finally exiting.
|
|
|
371
367
|
</div>
|
|
372
368
|
</div>
|
|
373
369
|
|
|
374
|
-
<div id="method-
|
|
375
|
-
<a name="
|
|
370
|
+
<div id="method-M000064" class="method-detail">
|
|
371
|
+
<a name="M000064"></a>
|
|
376
372
|
|
|
377
373
|
<div class="method-heading">
|
|
378
|
-
<a href="HttpServer.src/
|
|
379
|
-
onclick="popupCode('HttpServer.src/
|
|
374
|
+
<a href="HttpServer.src/M000064.html" target="Code" class="method-signature"
|
|
375
|
+
onclick="popupCode('HttpServer.src/M000064.html');return false;">
|
|
380
376
|
<span class="method-name">unregister</span><span class="method-args">(uri)</span>
|
|
381
377
|
</a>
|
|
382
378
|
</div>
|
|
@@ -384,7 +380,7 @@ the request queue before finally exiting.
|
|
|
384
380
|
<div class="method-description">
|
|
385
381
|
<p>
|
|
386
382
|
Removes any handlers registered at the given URI. See <a
|
|
387
|
-
href="URIClassifier.html#
|
|
383
|
+
href="URIClassifier.html#M000091">Mongrel::URIClassifier#unregister</a> for
|
|
388
384
|
more information. Remember this removes them <b>all</b> so the entire
|
|
389
385
|
processing chain goes away.
|
|
390
386
|
</p>
|