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
data/lib/mongrel/rails.rb
CHANGED
|
@@ -6,12 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
require 'mongrel'
|
|
8
8
|
require 'cgi'
|
|
9
|
-
require 'sync'
|
|
10
9
|
|
|
11
|
-
class Sync
|
|
12
|
-
# modified to open the waiting list for reporting purposes
|
|
13
|
-
attr_accessor :sync_waiting
|
|
14
|
-
end
|
|
15
10
|
|
|
16
11
|
module Mongrel
|
|
17
12
|
module Rails
|
|
@@ -32,9 +27,8 @@ module Mongrel
|
|
|
32
27
|
# * Finally, construct a Mongrel::CGIWrapper and run Dispatcher.dispatch to have Rails go.
|
|
33
28
|
#
|
|
34
29
|
# This means that if you are using page caching it will actually work with Mongrel
|
|
35
|
-
# and you should see a decent speed boost (but not as fast as if you use
|
|
36
|
-
#
|
|
37
|
-
# An additional feature you can use is
|
|
30
|
+
# and you should see a decent speed boost (but not as fast as if you use a static
|
|
31
|
+
# server like Apache or Litespeed).
|
|
38
32
|
class RailsHandler < Mongrel::HttpHandler
|
|
39
33
|
attr_reader :files
|
|
40
34
|
attr_reader :guard
|
|
@@ -42,16 +36,15 @@ module Mongrel
|
|
|
42
36
|
|
|
43
37
|
def initialize(dir, mime_map = {})
|
|
44
38
|
@files = Mongrel::DirHandler.new(dir,false)
|
|
45
|
-
@guard =
|
|
39
|
+
@guard = Mutex.new
|
|
46
40
|
@tick = Time.now
|
|
47
41
|
|
|
48
|
-
#
|
|
42
|
+
# Register the requested MIME types
|
|
49
43
|
mime_map.each {|k,v| Mongrel::DirHandler::add_mime_type(k,v) }
|
|
50
44
|
end
|
|
51
45
|
|
|
52
46
|
# Attempts to resolve the request as follows:
|
|
53
47
|
#
|
|
54
|
-
#
|
|
55
48
|
# * If the requested exact PATH_INFO exists as a file then serve it.
|
|
56
49
|
# * If it exists at PATH_INFO+".html" exists then serve that.
|
|
57
50
|
# * Finally, construct a Mongrel::CGIWrapper and run Dispatcher.dispatch to have Rails go.
|
|
@@ -61,27 +54,29 @@ module Mongrel
|
|
|
61
54
|
end
|
|
62
55
|
|
|
63
56
|
path_info = request.params[Mongrel::Const::PATH_INFO]
|
|
64
|
-
page_cached = path_info +
|
|
57
|
+
page_cached = path_info + ActionController::Base.page_cache_extension
|
|
65
58
|
get_or_head = @@file_only_methods.include? request.params[Mongrel::Const::REQUEST_METHOD]
|
|
66
59
|
|
|
67
60
|
if get_or_head and @files.can_serve(path_info)
|
|
68
61
|
# File exists as-is so serve it up
|
|
69
62
|
@files.process(request,response)
|
|
70
63
|
elsif get_or_head and @files.can_serve(page_cached)
|
|
71
|
-
#
|
|
64
|
+
# Possible cached page, serve it up
|
|
72
65
|
request.params[Mongrel::Const::PATH_INFO] = page_cached
|
|
73
66
|
@files.process(request,response)
|
|
74
67
|
else
|
|
75
68
|
begin
|
|
76
69
|
cgi = Mongrel::CGIWrapper.new(request, response)
|
|
77
70
|
cgi.handler = self
|
|
78
|
-
#
|
|
71
|
+
# We don't want the output to be really final until we're out of the lock
|
|
79
72
|
cgi.default_really_final = false
|
|
80
73
|
|
|
81
|
-
log_threads_waiting_for(request.params["PATH_INFO"]) if $mongrel_debug_client
|
|
74
|
+
log_threads_waiting_for(@active_request_path || request.params["PATH_INFO"]) if $mongrel_debug_client
|
|
82
75
|
|
|
83
|
-
@guard.synchronize
|
|
76
|
+
@guard.synchronize {
|
|
77
|
+
@active_request_path = request.params["PATH_INFO"]
|
|
84
78
|
Dispatcher.dispatch(cgi, ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS, response.body)
|
|
79
|
+
@active_request_path = nil
|
|
85
80
|
}
|
|
86
81
|
|
|
87
82
|
# This finalizes the output using the proper HttpResponse way
|
|
@@ -97,7 +92,6 @@ module Mongrel
|
|
|
97
92
|
|
|
98
93
|
def log_threads_waiting_for(event)
|
|
99
94
|
if Time.now - @tick > 10
|
|
100
|
-
STDERR.puts "#{Time.now}: #{@guard.sync_waiting.length} threads sync_waiting for #{event}, #{self.listener.workers.list.length} still active in mongrel."
|
|
101
95
|
@tick = Time.now
|
|
102
96
|
end
|
|
103
97
|
end
|
|
@@ -106,7 +100,7 @@ module Mongrel
|
|
|
106
100
|
# sometimes you get exceptions. In that case just do a real restart.
|
|
107
101
|
def reload!
|
|
108
102
|
begin
|
|
109
|
-
@guard.synchronize
|
|
103
|
+
@guard.synchronize {
|
|
110
104
|
$".replace $orig_dollar_quote
|
|
111
105
|
GC.start
|
|
112
106
|
Dispatcher.reset_application!
|
|
@@ -121,7 +115,7 @@ module Mongrel
|
|
|
121
115
|
class RailsConfigurator < Mongrel::Configurator
|
|
122
116
|
|
|
123
117
|
# Creates a single rails handler and returns it so you
|
|
124
|
-
# can add it to a
|
|
118
|
+
# can add it to a URI. You can actually attach it to
|
|
125
119
|
# as many URIs as you want, but this returns the
|
|
126
120
|
# same RailsHandler for each call.
|
|
127
121
|
#
|
|
@@ -139,10 +133,10 @@ module Mongrel
|
|
|
139
133
|
# one installed per Ruby interpreter (talk to them
|
|
140
134
|
# about thread safety). Because of this the first
|
|
141
135
|
# time you call this function it does all the config
|
|
142
|
-
# needed to get your
|
|
136
|
+
# needed to get your Rails working. After that
|
|
143
137
|
# it returns the one handler you've configured.
|
|
144
|
-
# This lets you attach Rails to any URI
|
|
145
|
-
#
|
|
138
|
+
# This lets you attach Rails to any URI(s) you want,
|
|
139
|
+
# but it still protects you from threads destroying
|
|
146
140
|
# your handler.
|
|
147
141
|
def rails(options={})
|
|
148
142
|
|
|
@@ -167,18 +161,17 @@ module Mongrel
|
|
|
167
161
|
@rails_handler = RailsHandler.new(ops[:docroot], ops[:mime])
|
|
168
162
|
end
|
|
169
163
|
|
|
170
|
-
|
|
171
|
-
#
|
|
172
|
-
#
|
|
173
|
-
# way it so stop then start the process.
|
|
164
|
+
# Reloads Rails. This isn't too reliable really, but it
|
|
165
|
+
# should work for most minimal reload purposes. The only reliable
|
|
166
|
+
# way to reload properly is to stop and then start the process.
|
|
174
167
|
def reload!
|
|
175
168
|
if not @rails_handler
|
|
176
169
|
raise "Rails was not configured. Read the docs for RailsConfigurator."
|
|
177
170
|
end
|
|
178
171
|
|
|
179
|
-
log "Reloading
|
|
172
|
+
log "Reloading Rails..."
|
|
180
173
|
@rails_handler.reload!
|
|
181
|
-
log "Done reloading
|
|
174
|
+
log "Done reloading Rails."
|
|
182
175
|
|
|
183
176
|
end
|
|
184
177
|
|
data/lib/mutex_fix.rb
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require 'thread'
|
|
2
|
+
|
|
3
|
+
# monkey patch Mutex so it does not leak memory.
|
|
4
|
+
class Mutex
|
|
5
|
+
|
|
6
|
+
def lock
|
|
7
|
+
while (Thread.critical = true; @locked)
|
|
8
|
+
@waiting.unshift Thread.current
|
|
9
|
+
Thread.stop
|
|
10
|
+
end
|
|
11
|
+
@locked = true
|
|
12
|
+
Thread.critical = false
|
|
13
|
+
self
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def unlock
|
|
17
|
+
return unless @locked
|
|
18
|
+
Thread.critical = true
|
|
19
|
+
@locked = false
|
|
20
|
+
begin
|
|
21
|
+
t = @waiting.pop
|
|
22
|
+
t.wakeup if t
|
|
23
|
+
rescue ThreadError
|
|
24
|
+
retry
|
|
25
|
+
end
|
|
26
|
+
Thread.critical = false
|
|
27
|
+
begin
|
|
28
|
+
t.run if t
|
|
29
|
+
rescue ThreadError
|
|
30
|
+
end
|
|
31
|
+
self
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
data/test/test_handlers.rb
CHANGED
|
@@ -45,7 +45,7 @@ class HandlersTest < Test::Unit::TestCase
|
|
|
45
45
|
uri "/", :handler => SimpleHandler.new
|
|
46
46
|
uri "/", :handler => stats
|
|
47
47
|
uri "/404", :handler => Mongrel::Error404Handler.new("Not found")
|
|
48
|
-
uri "/dumb", :handler => Mongrel::DeflateFilter.new
|
|
48
|
+
uri "/dumb", :handler => Mongrel::DeflateFilter.new
|
|
49
49
|
uri "/dumb", :handler => DumbHandler.new, :in_front => true
|
|
50
50
|
uri "/files", :handler => Mongrel::DirHandler.new("doc")
|
|
51
51
|
uri "/files_nodir", :handler => Mongrel::DirHandler.new("doc",listing_allowed=false, index_html="none")
|
|
@@ -73,12 +73,24 @@ class HandlersTest < Test::Unit::TestCase
|
|
|
73
73
|
check_status res, String
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
-
def
|
|
77
|
-
|
|
76
|
+
def test_deflate
|
|
77
|
+
Net::HTTP.start("localhost", 9998) do |h|
|
|
78
|
+
# test that no accept-encoding returns a non-deflated response
|
|
79
|
+
req = h.get("/dumb")
|
|
80
|
+
assert(
|
|
81
|
+
!req.header['Content-Encoding'] ||
|
|
82
|
+
!req.header['Content-Encoding'].include?('deflate'))
|
|
83
|
+
assert_equal "test", req.body
|
|
84
|
+
|
|
85
|
+
req = h.get("/dumb", {"Accept-Encoding" => "deflate"})
|
|
86
|
+
# -MAX_WBITS stops zlib from looking for a zlib header
|
|
87
|
+
inflater = Zlib::Inflate.new(-Zlib::MAX_WBITS)
|
|
88
|
+
assert req.header['Content-Encoding'].include?('deflate')
|
|
89
|
+
assert_equal "test", inflater.inflate(req.body)
|
|
90
|
+
end
|
|
78
91
|
end
|
|
79
92
|
|
|
80
93
|
# TODO: find out why this fails on win32 but nowhere else
|
|
81
|
-
#
|
|
82
94
|
#def test_posting_fails_dirhandler
|
|
83
95
|
# req = Net::HTTP::Post.new("http://localhost:9998/files/rdoc/")
|
|
84
96
|
# req.set_form_data({'from'=>'2005-01-01', 'to'=>'2005-03-31'}, ';')
|
data/test/test_http11.rb
CHANGED
|
@@ -35,6 +35,14 @@ class HttpParserTest < Test::Unit::TestCase
|
|
|
35
35
|
assert_equal should_be_good.length, nread
|
|
36
36
|
assert parser.finished?
|
|
37
37
|
assert !parser.error?
|
|
38
|
+
|
|
39
|
+
nasty_pound_header = "GET / HTTP/1.1\r\nX-SSL-Bullshit: -----BEGIN CERTIFICATE-----\r\n\tMIIFbTCCBFWgAwIBAgICH4cwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UEBhMCVUsx\r\n\tETAPBgNVBAoTCGVTY2llbmNlMRIwEAYDVQQLEwlBdXRob3JpdHkxCzAJBgNVBAMT\r\n\tAkNBMS0wKwYJKoZIhvcNAQkBFh5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMu\r\n\tdWswHhcNMDYwNzI3MTQxMzI4WhcNMDcwNzI3MTQxMzI4WjBbMQswCQYDVQQGEwJV\r\n\tSzERMA8GA1UEChMIZVNjaWVuY2UxEzARBgNVBAsTCk1hbmNoZXN0ZXIxCzAJBgNV\r\n\tBAcTmrsogriqMWLAk1DMRcwFQYDVQQDEw5taWNoYWVsIHBhcmQYJKoZIhvcNAQEB\r\n\tBQADggEPADCCAQoCggEBANPEQBgl1IaKdSS1TbhF3hEXSl72G9J+WC/1R64fAcEF\r\n\tW51rEyFYiIeZGx/BVzwXbeBoNUK41OK65sxGuflMo5gLflbwJtHBRIEKAfVVp3YR\r\n\tgW7cMA/s/XKgL1GEC7rQw8lIZT8RApukCGqOVHSi/F1SiFlPDxuDfmdiNzL31+sL\r\n\t0iwHDdNkGjy5pyBSB8Y79dsSJtCW/iaLB0/n8Sj7HgvvZJ7x0fr+RQjYOUUfrePP\r\n\tu2MSpFyf+9BbC/aXgaZuiCvSR+8Snv3xApQY+fULK/xY8h8Ua51iXoQ5jrgu2SqR\r\n\twgA7BUi3G8LFzMBl8FRCDYGUDy7M6QaHXx1ZWIPWNKsCAwEAAaOCAiQwggIgMAwG\r\n\tA1UdEwEB/wQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMA4GA1UdDwEB/wQEAwID6DAs\r\n\tBglghkgBhvhCAQ0EHxYdVUsgZS1TY2llbmNlIFVzZXIgQ2VydGlmaWNhdGUwHQYD\r\n\tVR0OBBYEFDTt/sf9PeMaZDHkUIldrDYMNTBZMIGaBgNVHSMEgZIwgY+AFAI4qxGj\r\n\tloCLDdMVKwiljjDastqooXSkcjBwMQswCQYDVQQGEwJVSzERMA8GA1UEChMIZVNj\r\n\taWVuY2UxEjAQBgNVBAsTCUF1dGhvcml0eTELMAkGA1UEAxMCQ0ExLTArBgkqhkiG\r\n\t9w0BCQEWHmNhLW9wZXJhdG9yQGdyaWQtc3VwcG9ydC5hYy51a4IBADApBgNVHRIE\r\n\tIjAggR5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMudWswGQYDVR0gBBIwEDAO\r\n\tBgwrBgEEAdkvAQEBAQYwPQYJYIZIAYb4QgEEBDAWLmh0dHA6Ly9jYS5ncmlkLXN1\r\n\tcHBvcnQuYWMudmT4sopwqlBWsvcHViL2NybC9jYWNybC5jcmwwPQYJYIZIAYb4QgEDBDAWLmh0\r\n\tdHA6Ly9jYS5ncmlkLXN1cHBvcnQuYWMudWsvcHViL2NybC9jYWNybC5jcmwwPwYD\r\n\tVR0fBDgwNjA0oDKgMIYuaHR0cDovL2NhLmdyaWQt5hYy51ay9wdWIv\r\n\tY3JsL2NhY3JsLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAS/U4iiooBENGW/Hwmmd3\r\n\tXCy6Zrt08YjKCzGNjorT98g8uGsqYjSxv/hmi0qlnlHs+k/3Iobc3LjS5AMYr5L8\r\n\tUO7OSkgFFlLHQyC9JzPfmLCAugvzEbyv4Olnsr8hbxF1MbKZoQxUZtMVu29wjfXk\r\n\thTeApBv7eaKCWpSp7MCbvgzm74izKhu3vlDk9w6qVrxePfGgpKPqfHiOoGhFnbTK\r\n\twTC6o2xq5y0qZ03JonF7OJspEd3I5zKY3E+ov7/ZhW6DqT8UFvsAdjvQbXyhV8Eu\r\n\tYhixw1aKEPzNjNowuIseVogKOLXxWI5vAi5HgXdS0/ES5gDGsABo4fqovUKlgop3\r\n\tRA==\r\n\t-----END CERTIFICATE-----\r\n\r\n"
|
|
40
|
+
parser = HttpParser.new
|
|
41
|
+
req = {}
|
|
42
|
+
#nread = parser.execute(req, nasty_pound_header, 0)
|
|
43
|
+
#assert_equal nasty_pound_header.length, nread
|
|
44
|
+
#assert parser.finished?
|
|
45
|
+
#assert !parser.error?
|
|
38
46
|
end
|
|
39
47
|
|
|
40
48
|
def test_parse_error
|
|
@@ -17,6 +17,12 @@ class UploadBeginHandler < Mongrel::HttpHandler
|
|
|
17
17
|
@request_notify = true
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
+
def reset
|
|
21
|
+
@request_began =
|
|
22
|
+
@request_progressed =
|
|
23
|
+
@request_processed = false
|
|
24
|
+
end
|
|
25
|
+
|
|
20
26
|
def request_begins(params)
|
|
21
27
|
@request_began = true
|
|
22
28
|
end
|
|
@@ -34,9 +40,7 @@ class UploadBeginHandler < Mongrel::HttpHandler
|
|
|
34
40
|
|
|
35
41
|
end
|
|
36
42
|
|
|
37
|
-
|
|
38
43
|
class RequestProgressTest < Test::Unit::TestCase
|
|
39
|
-
|
|
40
44
|
def setup
|
|
41
45
|
@server = Mongrel::HttpServer.new("127.0.0.1", 9998)
|
|
42
46
|
@handler = UploadBeginHandler.new
|
|
@@ -55,4 +59,43 @@ class RequestProgressTest < Test::Unit::TestCase
|
|
|
55
59
|
assert @handler.request_processed
|
|
56
60
|
end
|
|
57
61
|
|
|
62
|
+
def call_and_assert_handlers_in_turn(handlers)
|
|
63
|
+
# reset all handlers
|
|
64
|
+
handlers.each { |h| h.reset }
|
|
65
|
+
|
|
66
|
+
# make the call
|
|
67
|
+
Net::HTTP.get("localhost", "/upload", 9998)
|
|
68
|
+
|
|
69
|
+
# assert that each one was fired
|
|
70
|
+
handlers.each { |h|
|
|
71
|
+
assert h.request_began && h.request_progressed && h.request_processed,
|
|
72
|
+
"Callbacks NOT fired for #{h}"
|
|
73
|
+
}
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_more_than_one_begin_end_progress
|
|
77
|
+
handlers = [@handler]
|
|
78
|
+
|
|
79
|
+
second = UploadBeginHandler.new
|
|
80
|
+
@server.register("/upload", second)
|
|
81
|
+
handlers << second
|
|
82
|
+
call_and_assert_handlers_in_turn(handlers)
|
|
83
|
+
|
|
84
|
+
# check three handlers
|
|
85
|
+
third = UploadBeginHandler.new
|
|
86
|
+
@server.register("/upload", third)
|
|
87
|
+
handlers << third
|
|
88
|
+
call_and_assert_handlers_in_turn(handlers)
|
|
89
|
+
|
|
90
|
+
# remove handlers to make sure they've all gone away
|
|
91
|
+
@server.unregister("/upload")
|
|
92
|
+
handlers.each { |h| h.reset }
|
|
93
|
+
Net::HTTP.get("localhost", "/upload", 9998)
|
|
94
|
+
handlers.each { |h|
|
|
95
|
+
assert !h.request_began && !h.request_progressed && !h.request_processed
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
# re-register upload to the state before this test
|
|
99
|
+
@server.register("/upload", @handler)
|
|
100
|
+
end
|
|
58
101
|
end
|
data/test/test_response.rb
CHANGED
|
@@ -37,6 +37,37 @@ class ResponseTest < Test::Unit::TestCase
|
|
|
37
37
|
assert io.length > 0, "output didn't have data"
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
+
def test_response_duplicate_header_squash
|
|
41
|
+
io = StringIO.new
|
|
42
|
+
resp = HttpResponse.new(io)
|
|
43
|
+
resp.start do |head,out|
|
|
44
|
+
head["Content-Length"] = 30
|
|
45
|
+
head["Content-Length"] = 0
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
resp.finished
|
|
49
|
+
|
|
50
|
+
assert_equal io.length, 95, "too much output"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def test_response_some_duplicates_allowed
|
|
55
|
+
allowed_duplicates = ["Set-Cookie", "Set-Cookie2", "Warning", "WWW-Authenticate"]
|
|
56
|
+
io = StringIO.new
|
|
57
|
+
resp = HttpResponse.new(io)
|
|
58
|
+
resp.start do |head,out|
|
|
59
|
+
allowed_duplicates.each do |dup|
|
|
60
|
+
10.times do |i|
|
|
61
|
+
head[dup] = i
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
resp.finished
|
|
67
|
+
|
|
68
|
+
assert_equal io.length, 734, "wrong amount of output"
|
|
69
|
+
end
|
|
70
|
+
|
|
40
71
|
def test_response_404
|
|
41
72
|
io = StringIO.new
|
|
42
73
|
|
metadata
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
|
-
rubygems_version: 0.
|
|
2
|
+
rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
|
4
4
|
name: mongrel
|
|
5
5
|
version: !ruby/object:Gem::Version
|
|
6
|
-
version: 0
|
|
7
|
-
date:
|
|
8
|
-
summary: A small fast HTTP library and server that runs Rails, Camping, and
|
|
6
|
+
version: "1.0"
|
|
7
|
+
date: 2007-01-19 00:00:00 -08:00
|
|
8
|
+
summary: A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps.
|
|
9
9
|
require_paths:
|
|
10
10
|
- lib
|
|
11
11
|
email:
|
|
12
12
|
homepage:
|
|
13
13
|
rubyforge_project:
|
|
14
|
-
description: A small fast HTTP library and server that runs Rails, Camping, and
|
|
14
|
+
description: A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps.
|
|
15
15
|
autorequire:
|
|
16
16
|
default_executable:
|
|
17
17
|
bindir: bin
|
|
@@ -25,6 +25,7 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
|
25
25
|
platform: ruby
|
|
26
26
|
signing_key:
|
|
27
27
|
cert_chain:
|
|
28
|
+
post_install_message:
|
|
28
29
|
authors:
|
|
29
30
|
- Zed A. Shaw
|
|
30
31
|
files:
|
|
@@ -32,9 +33,7 @@ files:
|
|
|
32
33
|
- LICENSE
|
|
33
34
|
- README
|
|
34
35
|
- Rakefile
|
|
35
|
-
- bin/mongrel_rails_svc
|
|
36
36
|
- bin/mongrel_rails
|
|
37
|
-
- bin/mongrel_rails_service
|
|
38
37
|
- doc/rdoc/files
|
|
39
38
|
- doc/rdoc/index.html
|
|
40
39
|
- doc/rdoc/rdoc-style.css
|
|
@@ -51,6 +50,7 @@ files:
|
|
|
51
50
|
- doc/rdoc/files/ext/http11
|
|
52
51
|
- doc/rdoc/files/ext/http11/http11_c.html
|
|
53
52
|
- doc/rdoc/files/lib/mongrel_rb.html
|
|
53
|
+
- doc/rdoc/files/lib/mutex_fix_rb.html
|
|
54
54
|
- doc/rdoc/files/lib/mongrel
|
|
55
55
|
- doc/rdoc/files/lib/mongrel/tcphack_rb.html
|
|
56
56
|
- doc/rdoc/files/lib/mongrel/handlers_rb.html
|
|
@@ -63,6 +63,7 @@ files:
|
|
|
63
63
|
- doc/rdoc/files/lib/mongrel/debug_rb.html
|
|
64
64
|
- doc/rdoc/files/lib/mongrel/configurator_rb.html
|
|
65
65
|
- doc/rdoc/classes/IO.src
|
|
66
|
+
- doc/rdoc/classes/Mutex.src
|
|
66
67
|
- doc/rdoc/classes/RequestLog.html
|
|
67
68
|
- doc/rdoc/classes/Kernel.src
|
|
68
69
|
- doc/rdoc/classes/Kernel.html
|
|
@@ -74,11 +75,13 @@ files:
|
|
|
74
75
|
- doc/rdoc/classes/TCPServer.html
|
|
75
76
|
- doc/rdoc/classes/MongrelDbg.src
|
|
76
77
|
- doc/rdoc/classes/MongrelDbg.html
|
|
77
|
-
- doc/rdoc/classes/
|
|
78
|
-
- doc/rdoc/classes/IO.src/
|
|
79
|
-
- doc/rdoc/classes/IO.src/
|
|
80
|
-
- doc/rdoc/classes/
|
|
81
|
-
- doc/rdoc/classes/
|
|
78
|
+
- doc/rdoc/classes/Mutex.html
|
|
79
|
+
- doc/rdoc/classes/IO.src/M000003.html
|
|
80
|
+
- doc/rdoc/classes/IO.src/M000004.html
|
|
81
|
+
- doc/rdoc/classes/Mutex.src/M000001.html
|
|
82
|
+
- doc/rdoc/classes/Mutex.src/M000002.html
|
|
83
|
+
- doc/rdoc/classes/Kernel.src/M000012.html
|
|
84
|
+
- doc/rdoc/classes/Kernel.src/M000013.html
|
|
82
85
|
- doc/rdoc/classes/RequestLog/Threads.html
|
|
83
86
|
- doc/rdoc/classes/RequestLog/Objects.html
|
|
84
87
|
- doc/rdoc/classes/RequestLog/Params.html
|
|
@@ -89,12 +92,12 @@ files:
|
|
|
89
92
|
- doc/rdoc/classes/RequestLog/Threads.src
|
|
90
93
|
- doc/rdoc/classes/RequestLog/Access.html
|
|
91
94
|
- doc/rdoc/classes/RequestLog/Files.src
|
|
92
|
-
- doc/rdoc/classes/RequestLog/Objects.src/
|
|
93
|
-
- doc/rdoc/classes/RequestLog/Access.src/
|
|
94
|
-
- doc/rdoc/classes/RequestLog/Params.src/
|
|
95
|
-
- doc/rdoc/classes/RequestLog/Threads.src/
|
|
96
|
-
- doc/rdoc/classes/RequestLog/Files.src/
|
|
97
|
-
- doc/rdoc/classes/TCPServer.src/
|
|
95
|
+
- doc/rdoc/classes/RequestLog/Objects.src/M000150.html
|
|
96
|
+
- doc/rdoc/classes/RequestLog/Access.src/M000147.html
|
|
97
|
+
- doc/rdoc/classes/RequestLog/Params.src/M000151.html
|
|
98
|
+
- doc/rdoc/classes/RequestLog/Threads.src/M000149.html
|
|
99
|
+
- doc/rdoc/classes/RequestLog/Files.src/M000148.html
|
|
100
|
+
- doc/rdoc/classes/TCPServer.src/M000005.html
|
|
98
101
|
- doc/rdoc/classes/Mongrel/HttpServer.src
|
|
99
102
|
- doc/rdoc/classes/Mongrel/Rails.html
|
|
100
103
|
- doc/rdoc/classes/Mongrel/Rails
|
|
@@ -141,8 +144,6 @@ files:
|
|
|
141
144
|
- doc/rdoc/classes/Mongrel/DirHandler.src
|
|
142
145
|
- doc/rdoc/classes/Mongrel/DeflateFilter.src
|
|
143
146
|
- doc/rdoc/classes/Mongrel/HeaderOut.html
|
|
144
|
-
- doc/rdoc/classes/Mongrel/HttpServer.src/M000055.html
|
|
145
|
-
- doc/rdoc/classes/Mongrel/HttpServer.src/M000056.html
|
|
146
147
|
- doc/rdoc/classes/Mongrel/HttpServer.src/M000057.html
|
|
147
148
|
- doc/rdoc/classes/Mongrel/HttpServer.src/M000058.html
|
|
148
149
|
- doc/rdoc/classes/Mongrel/HttpServer.src/M000059.html
|
|
@@ -150,30 +151,30 @@ files:
|
|
|
150
151
|
- doc/rdoc/classes/Mongrel/HttpServer.src/M000061.html
|
|
151
152
|
- doc/rdoc/classes/Mongrel/HttpServer.src/M000062.html
|
|
152
153
|
- doc/rdoc/classes/Mongrel/HttpServer.src/M000063.html
|
|
154
|
+
- doc/rdoc/classes/Mongrel/HttpServer.src/M000064.html
|
|
155
|
+
- doc/rdoc/classes/Mongrel/HttpServer.src/M000065.html
|
|
153
156
|
- doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src
|
|
154
157
|
- doc/rdoc/classes/Mongrel/Rails/RailsHandler.src
|
|
155
158
|
- doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.html
|
|
156
159
|
- doc/rdoc/classes/Mongrel/Rails/RailsHandler.html
|
|
157
|
-
- doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000032.html
|
|
158
|
-
- doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000033.html
|
|
159
160
|
- doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000034.html
|
|
160
|
-
- doc/rdoc/classes/Mongrel/Rails/
|
|
161
|
-
- doc/rdoc/classes/Mongrel/Rails/
|
|
161
|
+
- doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000035.html
|
|
162
|
+
- doc/rdoc/classes/Mongrel/Rails/RailsConfigurator.src/M000036.html
|
|
162
163
|
- doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000037.html
|
|
163
164
|
- doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000038.html
|
|
165
|
+
- doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000039.html
|
|
166
|
+
- doc/rdoc/classes/Mongrel/Rails/RailsHandler.src/M000040.html
|
|
164
167
|
- doc/rdoc/classes/Mongrel/Camping/CampingHandler.src
|
|
165
168
|
- doc/rdoc/classes/Mongrel/Camping/CampingHandler.html
|
|
166
|
-
- doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/
|
|
167
|
-
- doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/
|
|
168
|
-
- doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000012.html
|
|
169
|
-
- doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000013.html
|
|
169
|
+
- doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000042.html
|
|
170
|
+
- doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000043.html
|
|
170
171
|
- doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000014.html
|
|
171
172
|
- doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000015.html
|
|
172
|
-
- doc/rdoc/classes/Mongrel/
|
|
173
|
-
- doc/rdoc/classes/Mongrel/
|
|
174
|
-
- doc/rdoc/classes/Mongrel/StatisticsFilter.src/
|
|
175
|
-
- doc/rdoc/classes/Mongrel/
|
|
176
|
-
- doc/rdoc/classes/Mongrel/
|
|
173
|
+
- doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000016.html
|
|
174
|
+
- doc/rdoc/classes/Mongrel/HttpHandlerPlugin.src/M000017.html
|
|
175
|
+
- doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000128.html
|
|
176
|
+
- doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000129.html
|
|
177
|
+
- doc/rdoc/classes/Mongrel/StatisticsFilter.src/M000130.html
|
|
177
178
|
- doc/rdoc/classes/Mongrel/Configurator.src/M000093.html
|
|
178
179
|
- doc/rdoc/classes/Mongrel/Configurator.src/M000094.html
|
|
179
180
|
- doc/rdoc/classes/Mongrel/Configurator.src/M000095.html
|
|
@@ -193,21 +194,22 @@ files:
|
|
|
193
194
|
- doc/rdoc/classes/Mongrel/Configurator.src/M000109.html
|
|
194
195
|
- doc/rdoc/classes/Mongrel/Configurator.src/M000110.html
|
|
195
196
|
- doc/rdoc/classes/Mongrel/Configurator.src/M000111.html
|
|
197
|
+
- doc/rdoc/classes/Mongrel/Configurator.src/M000112.html
|
|
198
|
+
- doc/rdoc/classes/Mongrel/Configurator.src/M000113.html
|
|
199
|
+
- doc/rdoc/classes/Mongrel/Configurator.src/M000114.html
|
|
196
200
|
- doc/rdoc/classes/Mongrel/HttpRequest.src/M000135.html
|
|
197
|
-
- doc/rdoc/classes/Mongrel/HttpRequest.src/
|
|
198
|
-
- doc/rdoc/classes/Mongrel/HttpRequest.src/
|
|
199
|
-
- doc/rdoc/classes/Mongrel/HttpRequest.src/
|
|
201
|
+
- doc/rdoc/classes/Mongrel/HttpRequest.src/M000136.html
|
|
202
|
+
- doc/rdoc/classes/Mongrel/HttpRequest.src/M000137.html
|
|
203
|
+
- doc/rdoc/classes/Mongrel/HttpRequest.src/M000138.html
|
|
200
204
|
- doc/rdoc/classes/Mongrel/HttpRequest.src/M000133.html
|
|
201
205
|
- doc/rdoc/classes/Mongrel/HttpRequest.src/M000134.html
|
|
202
206
|
- doc/rdoc/classes/Mongrel/Command/Registry.html
|
|
203
207
|
- doc/rdoc/classes/Mongrel/Command/Registry.src
|
|
204
208
|
- doc/rdoc/classes/Mongrel/Command/Base.html
|
|
205
209
|
- doc/rdoc/classes/Mongrel/Command/Base.src
|
|
206
|
-
- doc/rdoc/classes/Mongrel/Command/Registry.src/M000029.html
|
|
207
|
-
- doc/rdoc/classes/Mongrel/Command/Registry.src/M000030.html
|
|
208
210
|
- doc/rdoc/classes/Mongrel/Command/Registry.src/M000031.html
|
|
209
|
-
- doc/rdoc/classes/Mongrel/Command/
|
|
210
|
-
- doc/rdoc/classes/Mongrel/Command/
|
|
211
|
+
- doc/rdoc/classes/Mongrel/Command/Registry.src/M000032.html
|
|
212
|
+
- doc/rdoc/classes/Mongrel/Command/Registry.src/M000033.html
|
|
211
213
|
- doc/rdoc/classes/Mongrel/Command/Base.src/M000018.html
|
|
212
214
|
- doc/rdoc/classes/Mongrel/Command/Base.src/M000019.html
|
|
213
215
|
- doc/rdoc/classes/Mongrel/Command/Base.src/M000020.html
|
|
@@ -219,23 +221,25 @@ files:
|
|
|
219
221
|
- doc/rdoc/classes/Mongrel/Command/Base.src/M000026.html
|
|
220
222
|
- doc/rdoc/classes/Mongrel/Command/Base.src/M000027.html
|
|
221
223
|
- doc/rdoc/classes/Mongrel/Command/Base.src/M000028.html
|
|
222
|
-
- doc/rdoc/classes/Mongrel/
|
|
223
|
-
- doc/rdoc/classes/Mongrel/
|
|
224
|
-
- doc/rdoc/classes/Mongrel/
|
|
225
|
-
- doc/rdoc/classes/Mongrel/
|
|
226
|
-
- doc/rdoc/classes/Mongrel/Stats.src/M000138.html
|
|
224
|
+
- doc/rdoc/classes/Mongrel/Command/Base.src/M000029.html
|
|
225
|
+
- doc/rdoc/classes/Mongrel/Command/Base.src/M000030.html
|
|
226
|
+
- doc/rdoc/classes/Mongrel/Error404Handler.src/M000126.html
|
|
227
|
+
- doc/rdoc/classes/Mongrel/Error404Handler.src/M000127.html
|
|
227
228
|
- doc/rdoc/classes/Mongrel/Stats.src/M000139.html
|
|
228
229
|
- doc/rdoc/classes/Mongrel/Stats.src/M000140.html
|
|
229
230
|
- doc/rdoc/classes/Mongrel/Stats.src/M000141.html
|
|
230
231
|
- doc/rdoc/classes/Mongrel/Stats.src/M000142.html
|
|
231
232
|
- doc/rdoc/classes/Mongrel/Stats.src/M000143.html
|
|
232
|
-
- doc/rdoc/classes/Mongrel/
|
|
233
|
-
- doc/rdoc/classes/Mongrel/
|
|
234
|
-
- doc/rdoc/classes/Mongrel/
|
|
233
|
+
- doc/rdoc/classes/Mongrel/Stats.src/M000144.html
|
|
234
|
+
- doc/rdoc/classes/Mongrel/Stats.src/M000145.html
|
|
235
|
+
- doc/rdoc/classes/Mongrel/Stats.src/M000146.html
|
|
236
|
+
- doc/rdoc/classes/Mongrel/Camping.src/M000041.html
|
|
235
237
|
- doc/rdoc/classes/Mongrel/StatusHandler.src/M000068.html
|
|
236
238
|
- doc/rdoc/classes/Mongrel/StatusHandler.src/M000069.html
|
|
237
|
-
- doc/rdoc/classes/Mongrel/
|
|
238
|
-
- doc/rdoc/classes/Mongrel/
|
|
239
|
+
- doc/rdoc/classes/Mongrel/StatusHandler.src/M000070.html
|
|
240
|
+
- doc/rdoc/classes/Mongrel/StatusHandler.src/M000071.html
|
|
241
|
+
- doc/rdoc/classes/Mongrel/HeaderOut.src/M000066.html
|
|
242
|
+
- doc/rdoc/classes/Mongrel/HeaderOut.src/M000067.html
|
|
239
243
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000076.html
|
|
240
244
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000077.html
|
|
241
245
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000078.html
|
|
@@ -245,48 +249,48 @@ files:
|
|
|
245
249
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000082.html
|
|
246
250
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000083.html
|
|
247
251
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000084.html
|
|
248
|
-
- doc/rdoc/classes/Mongrel/HttpResponse.src/
|
|
249
|
-
- doc/rdoc/classes/Mongrel/HttpResponse.src/
|
|
252
|
+
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000085.html
|
|
253
|
+
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000086.html
|
|
250
254
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000075.html
|
|
251
|
-
- doc/rdoc/classes/Mongrel/HttpParser.src/M000042.html
|
|
252
|
-
- doc/rdoc/classes/Mongrel/HttpParser.src/M000043.html
|
|
253
255
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000044.html
|
|
254
256
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000045.html
|
|
255
257
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000046.html
|
|
256
258
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000047.html
|
|
257
259
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000048.html
|
|
258
|
-
- doc/rdoc/classes/Mongrel/
|
|
259
|
-
- doc/rdoc/classes/Mongrel/
|
|
260
|
-
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000114.html
|
|
260
|
+
- doc/rdoc/classes/Mongrel/HttpParser.src/M000049.html
|
|
261
|
+
- doc/rdoc/classes/Mongrel/HttpParser.src/M000050.html
|
|
261
262
|
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000115.html
|
|
262
263
|
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000116.html
|
|
263
264
|
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000117.html
|
|
264
265
|
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000118.html
|
|
265
266
|
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000119.html
|
|
266
267
|
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000120.html
|
|
267
|
-
- doc/rdoc/classes/Mongrel/
|
|
268
|
-
- doc/rdoc/classes/Mongrel/
|
|
269
|
-
- doc/rdoc/classes/Mongrel/
|
|
270
|
-
- doc/rdoc/classes/Mongrel/
|
|
268
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000121.html
|
|
269
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000122.html
|
|
270
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000123.html
|
|
271
|
+
- doc/rdoc/classes/Mongrel/RedirectHandler.src/M000131.html
|
|
272
|
+
- doc/rdoc/classes/Mongrel/RedirectHandler.src/M000132.html
|
|
271
273
|
- doc/rdoc/classes/Mongrel/HttpHandler.src/M000072.html
|
|
272
|
-
- doc/rdoc/classes/Mongrel/
|
|
273
|
-
- doc/rdoc/classes/Mongrel/
|
|
274
|
+
- doc/rdoc/classes/Mongrel/HttpHandler.src/M000073.html
|
|
275
|
+
- doc/rdoc/classes/Mongrel/HttpHandler.src/M000074.html
|
|
274
276
|
- doc/rdoc/classes/Mongrel/URIClassifier.src/M000087.html
|
|
275
277
|
- doc/rdoc/classes/Mongrel/URIClassifier.src/M000088.html
|
|
276
278
|
- doc/rdoc/classes/Mongrel/URIClassifier.src/M000089.html
|
|
277
279
|
- doc/rdoc/classes/Mongrel/URIClassifier.src/M000090.html
|
|
278
|
-
- doc/rdoc/classes/Mongrel/
|
|
279
|
-
- doc/rdoc/classes/Mongrel/
|
|
280
|
+
- doc/rdoc/classes/Mongrel/URIClassifier.src/M000091.html
|
|
281
|
+
- doc/rdoc/classes/Mongrel/URIClassifier.src/M000092.html
|
|
280
282
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000051.html
|
|
281
283
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000052.html
|
|
282
284
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000053.html
|
|
283
285
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000054.html
|
|
284
|
-
- doc/rdoc/classes/Mongrel/
|
|
285
|
-
- doc/rdoc/classes/Mongrel/
|
|
286
|
+
- doc/rdoc/classes/Mongrel/DirHandler.src/M000055.html
|
|
287
|
+
- doc/rdoc/classes/Mongrel/DirHandler.src/M000056.html
|
|
288
|
+
- doc/rdoc/classes/Mongrel/DeflateFilter.src/M000124.html
|
|
289
|
+
- doc/rdoc/classes/Mongrel/DeflateFilter.src/M000125.html
|
|
286
290
|
- doc/rdoc/classes/MongrelDbg.src/M000008.html
|
|
287
291
|
- doc/rdoc/classes/MongrelDbg.src/M000009.html
|
|
288
|
-
- doc/rdoc/classes/MongrelDbg.src/
|
|
289
|
-
- doc/rdoc/classes/MongrelDbg.src/
|
|
292
|
+
- doc/rdoc/classes/MongrelDbg.src/M000010.html
|
|
293
|
+
- doc/rdoc/classes/MongrelDbg.src/M000011.html
|
|
290
294
|
- doc/rdoc/classes/MongrelDbg.src/M000007.html
|
|
291
295
|
- test/mongrel.conf
|
|
292
296
|
- test/test_http11.rb
|
|
@@ -327,6 +331,7 @@ files:
|
|
|
327
331
|
- tools/trickletest.rb
|
|
328
332
|
- tools/rakehelp.rb
|
|
329
333
|
- lib/mongrel.rb
|
|
334
|
+
- lib/mutex_fix.rb
|
|
330
335
|
- lib/mongrel/handlers.rb
|
|
331
336
|
- lib/mongrel/camping.rb
|
|
332
337
|
- lib/mongrel/tcphack.rb
|
|
@@ -339,6 +344,7 @@ files:
|
|
|
339
344
|
- lib/mongrel/configurator.rb
|
|
340
345
|
- ext/http11/MANIFEST
|
|
341
346
|
- setup.rb
|
|
347
|
+
- lib/mongrel/mime_types.yml
|
|
342
348
|
test_files:
|
|
343
349
|
- test/test_http11.rb
|
|
344
350
|
- test/test_configurator.rb
|
|
@@ -370,7 +376,16 @@ dependencies:
|
|
|
370
376
|
requirements:
|
|
371
377
|
- - ">="
|
|
372
378
|
- !ruby/object:Gem::Version
|
|
373
|
-
version: 0.
|
|
379
|
+
version: 1.0.3
|
|
380
|
+
version:
|
|
381
|
+
- !ruby/object:Gem::Dependency
|
|
382
|
+
name: fastthread
|
|
383
|
+
version_requirement:
|
|
384
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
385
|
+
requirements:
|
|
386
|
+
- - ">="
|
|
387
|
+
- !ruby/object:Gem::Version
|
|
388
|
+
version: 0.6.2
|
|
374
389
|
version:
|
|
375
390
|
- !ruby/object:Gem::Dependency
|
|
376
391
|
name: gem_plugin
|
|
@@ -379,5 +394,14 @@ dependencies:
|
|
|
379
394
|
requirements:
|
|
380
395
|
- - ">="
|
|
381
396
|
- !ruby/object:Gem::Version
|
|
382
|
-
version: 0.2.
|
|
397
|
+
version: 0.2.2
|
|
398
|
+
version:
|
|
399
|
+
- !ruby/object:Gem::Dependency
|
|
400
|
+
name: cgi_multipart_eof_fix
|
|
401
|
+
version_requirement:
|
|
402
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
403
|
+
requirements:
|
|
404
|
+
- - ">="
|
|
405
|
+
- !ruby/object:Gem::Version
|
|
406
|
+
version: 1.0.0
|
|
383
407
|
version:
|