mongrel 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README +1 -1
- data/Rakefile +20 -2
- data/bin/mongrel_rails +7 -53
- data/doc/rdoc/classes/Mongrel.html +1 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.html +300 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000047.html +23 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000048.html +27 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000049.html +22 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000050.html +26 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000051.html +18 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000052.html +18 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000053.html +18 -0
- data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000054.html +19 -0
- data/doc/rdoc/classes/Mongrel/Const.html +1 -1
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000022.html +6 -6
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000023.html +28 -28
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000024.html +26 -26
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000025.html +17 -17
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000026.html +24 -24
- data/doc/rdoc/classes/Mongrel/DirHandler.src/M000027.html +4 -4
- data/doc/rdoc/classes/Mongrel/Error404Handler.html +10 -10
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000047.html → M000055.html} +4 -4
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000048.html → M000056.html} +4 -4
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000033.html +4 -4
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/M000034.html +7 -7
- data/doc/rdoc/classes/Mongrel/HttpHandler.src/M000039.html +3 -3
- data/doc/rdoc/classes/Mongrel/HttpRequest.html +5 -5
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000049.html → M000057.html} +17 -17
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000040.html +7 -7
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000041.html +6 -6
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000042.html +5 -5
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000043.html +5 -4
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000044.html +6 -6
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000045.html +6 -7
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000046.html +6 -6
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000028.html +24 -24
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000029.html +48 -48
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000030.html +9 -9
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000031.html +4 -4
- data/doc/rdoc/classes/Mongrel/HttpServer.src/M000032.html +4 -4
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README.html +2 -2
- data/doc/rdoc/files/lib/mongrel_rb.html +2 -1
- data/doc/rdoc/fr_class_index.html +1 -0
- data/doc/rdoc/fr_method_index.html +17 -9
- data/lib/mongrel.rb +89 -3
- data/lib/mongrel/command.rb +1 -1
- data/tools/rakehelp.rb +17 -9
- metadata +17 -7
@@ -10,9 +10,9 @@
|
|
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 415</span>
|
14
|
+
415: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">register</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">handler</span>)
|
15
|
+
416: <span class="ruby-ivar">@classifier</span>.<span class="ruby-identifier">register</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">handler</span>)
|
16
|
+
417: <span class="ruby-keyword kw">end</span></pre>
|
17
17
|
</body>
|
18
18
|
</html>
|
@@ -10,9 +10,9 @@
|
|
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 421</span>
|
14
|
+
421: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unregister</span>(<span class="ruby-identifier">uri</span>)
|
15
|
+
422: <span class="ruby-ivar">@classifier</span>.<span class="ruby-identifier">unregister</span>(<span class="ruby-identifier">uri</span>)
|
16
|
+
423: <span class="ruby-keyword kw">end</span></pre>
|
17
17
|
</body>
|
18
18
|
</html>
|
data/doc/rdoc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Thu Feb 16 02:01:03 EST 2006
|
data/doc/rdoc/files/README.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Wed Feb 15 08:10:57 EST 2006</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -158,7 +158,7 @@ example:
|
|
158
158
|
|
159
159
|
h = Mongrel::HttpServer.new("0.0.0.0", "3000")
|
160
160
|
h.register("/test", SimpleHandler.new)
|
161
|
-
h.register("/files", DirHandler.new("."))
|
161
|
+
h.register("/files", Mongrel::DirHandler.new("."))
|
162
162
|
h.run.join
|
163
163
|
</pre>
|
164
164
|
<p>
|
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Thu Feb 16 01:05:45 EST 2006</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -78,6 +78,7 @@
|
|
78
78
|
thread
|
79
79
|
stringio
|
80
80
|
timeout
|
81
|
+
cgi
|
81
82
|
</div>
|
82
83
|
</div>
|
83
84
|
|
@@ -22,6 +22,7 @@
|
|
22
22
|
<div id="index-entries">
|
23
23
|
<a href="classes/FactoryError.html">FactoryError</a><br />
|
24
24
|
<a href="classes/Mongrel.html">Mongrel</a><br />
|
25
|
+
<a href="classes/Mongrel/CGIWrapper.html">Mongrel::CGIWrapper</a><br />
|
25
26
|
<a href="classes/Mongrel/Const.html">Mongrel::Const</a><br />
|
26
27
|
<a href="classes/Mongrel/DirHandler.html">Mongrel::DirHandler</a><br />
|
27
28
|
<a href="classes/Mongrel/Error404Handler.html">Mongrel::Error404Handler</a><br />
|
@@ -22,10 +22,12 @@
|
|
22
22
|
<div id="index-entries">
|
23
23
|
<a href="classes/Mongrel/HeaderOut.html#M000034">[]= (Mongrel::HeaderOut)</a><br />
|
24
24
|
<a href="classes/Mongrel/DirHandler.html#M000027">add_mime_type (Mongrel::DirHandler)</a><br />
|
25
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000051">args (Mongrel::CGIWrapper)</a><br />
|
25
26
|
<a href="classes/Mongrel/DirHandler.html#M000023">can_serve (Mongrel::DirHandler)</a><br />
|
26
27
|
<a href="classes/PluginFactory.html#M000009">create (PluginFactory)</a><br />
|
27
28
|
<a href="classes/PluginFactory.html#M000008">derivativeClasses (PluginFactory)</a><br />
|
28
29
|
<a href="classes/PluginFactory.html#M000005">derivatives (PluginFactory)</a><br />
|
30
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000052">env_table (Mongrel::CGIWrapper)</a><br />
|
29
31
|
<a href="classes/Mongrel/HttpParser.html#M000019">error? (Mongrel::HttpParser)</a><br />
|
30
32
|
<a href="classes/Mongrel/HttpParser.html#M000018">execute (Mongrel::HttpParser)</a><br />
|
31
33
|
<a href="classes/PluginFactory.html#M000004">extend_object (PluginFactory)</a><br />
|
@@ -35,27 +37,30 @@
|
|
35
37
|
<a href="classes/Mongrel/HttpParser.html#M000020">finished? (Mongrel::HttpParser)</a><br />
|
36
38
|
<a href="classes/PluginFactory.html#M000012">getModuleName (PluginFactory)</a><br />
|
37
39
|
<a href="classes/PluginFactory.html#M000010">getSubclass (PluginFactory)</a><br />
|
40
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000048">header (Mongrel::CGIWrapper)</a><br />
|
38
41
|
<a href="classes/PluginFactory.html#M000003">included (PluginFactory)</a><br />
|
39
42
|
<a href="classes/PluginFactory.html#M000007">inherited (PluginFactory)</a><br />
|
40
43
|
<a href="classes/PluginFactory.html#M000011">loadDerivative (PluginFactory)</a><br />
|
41
44
|
<a href="classes/PluginFactory.html#M000002">log (PluginFactory)</a><br />
|
42
45
|
<a href="classes/PluginFactory.html#M000014">makeRequirePath (PluginFactory)</a><br />
|
43
|
-
<a href="classes/Mongrel/HttpParser.html#M000015">new (Mongrel::HttpParser)</a><br />
|
44
46
|
<a href="classes/Mongrel/DirHandler.html#M000022">new (Mongrel::DirHandler)</a><br />
|
47
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000047">new (Mongrel::CGIWrapper)</a><br />
|
48
|
+
<a href="classes/Mongrel/Error404Handler.html#M000055">new (Mongrel::Error404Handler)</a><br />
|
49
|
+
<a href="classes/Mongrel/HttpParser.html#M000015">new (Mongrel::HttpParser)</a><br />
|
50
|
+
<a href="classes/Mongrel/HttpServer.html#M000028">new (Mongrel::HttpServer)</a><br />
|
51
|
+
<a href="classes/Mongrel/HeaderOut.html#M000033">new (Mongrel::HeaderOut)</a><br />
|
45
52
|
<a href="classes/Mongrel/HttpResponse.html#M000040">new (Mongrel::HttpResponse)</a><br />
|
46
53
|
<a href="classes/Mongrel/URIClassifier.html#M000035">new (Mongrel::URIClassifier)</a><br />
|
47
|
-
<a href="classes/Mongrel/HeaderOut.html#M000033">new (Mongrel::HeaderOut)</a><br />
|
48
|
-
<a href="classes/Mongrel/Error404Handler.html#M000047">new (Mongrel::Error404Handler)</a><br />
|
49
54
|
<a href="classes/FactoryError.html#M000001">new (FactoryError)</a><br />
|
50
|
-
<a href="classes/Mongrel/
|
51
|
-
<a href="classes/Mongrel/HttpRequest.html#M000049">new (Mongrel::HttpRequest)</a><br />
|
55
|
+
<a href="classes/Mongrel/HttpRequest.html#M000057">new (Mongrel::HttpRequest)</a><br />
|
52
56
|
<a href="classes/Mongrel/HttpParser.html#M000021">nread (Mongrel::HttpParser)</a><br />
|
53
|
-
<a href="classes/Mongrel/
|
54
|
-
<a href="classes/Mongrel/HttpHandler.html#M000039">process (Mongrel::HttpHandler)</a><br />
|
57
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000049">out (Mongrel::CGIWrapper)</a><br />
|
55
58
|
<a href="classes/Mongrel/DirHandler.html#M000026">process (Mongrel::DirHandler)</a><br />
|
59
|
+
<a href="classes/Mongrel/Error404Handler.html#M000056">process (Mongrel::Error404Handler)</a><br />
|
60
|
+
<a href="classes/Mongrel/HttpHandler.html#M000039">process (Mongrel::HttpHandler)</a><br />
|
56
61
|
<a href="classes/Mongrel/HttpServer.html#M000029">process_client (Mongrel::HttpServer)</a><br />
|
57
|
-
<a href="classes/Mongrel/HttpServer.html#M000031">register (Mongrel::HttpServer)</a><br />
|
58
62
|
<a href="classes/Mongrel/URIClassifier.html#M000036">register (Mongrel::URIClassifier)</a><br />
|
63
|
+
<a href="classes/Mongrel/HttpServer.html#M000031">register (Mongrel::HttpServer)</a><br />
|
59
64
|
<a href="classes/PluginFactory.html#M000013">requireDerivative (PluginFactory)</a><br />
|
60
65
|
<a href="classes/Mongrel/HttpResponse.html#M000042">reset (Mongrel::HttpResponse)</a><br />
|
61
66
|
<a href="classes/Mongrel/HttpParser.html#M000016">reset (Mongrel::HttpParser)</a><br />
|
@@ -67,8 +72,11 @@
|
|
67
72
|
<a href="classes/Mongrel/HttpResponse.html#M000044">send_header (Mongrel::HttpResponse)</a><br />
|
68
73
|
<a href="classes/Mongrel/HttpResponse.html#M000043">send_status (Mongrel::HttpResponse)</a><br />
|
69
74
|
<a href="classes/Mongrel/HttpResponse.html#M000041">start (Mongrel::HttpResponse)</a><br />
|
70
|
-
<a href="classes/Mongrel/
|
75
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000050">status (Mongrel::CGIWrapper)</a><br />
|
76
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000053">stdinput (Mongrel::CGIWrapper)</a><br />
|
77
|
+
<a href="classes/Mongrel/CGIWrapper.html#M000054">stdoutput (Mongrel::CGIWrapper)</a><br />
|
71
78
|
<a href="classes/Mongrel/URIClassifier.html#M000037">unregister (Mongrel::URIClassifier)</a><br />
|
79
|
+
<a href="classes/Mongrel/HttpServer.html#M000032">unregister (Mongrel::HttpServer)</a><br />
|
72
80
|
</div>
|
73
81
|
</div>
|
74
82
|
</body>
|
data/lib/mongrel.rb
CHANGED
@@ -3,6 +3,8 @@ require 'http11'
|
|
3
3
|
require 'thread'
|
4
4
|
require 'stringio'
|
5
5
|
require 'timeout'
|
6
|
+
require 'cgi'
|
7
|
+
|
6
8
|
|
7
9
|
# Mongrel module containing all of the classes (include C extensions) for running
|
8
10
|
# a Mongrel web server. It contains a minimalist HTTP server with just enough
|
@@ -110,7 +112,7 @@ module Mongrel
|
|
110
112
|
SERVER_SOFTWARE='SERVER_SOFTWARE'
|
111
113
|
|
112
114
|
# Current Mongrel version (used for SERVER_SOFTWARE and other response headers).
|
113
|
-
MONGREL_VERSION='Mongrel 0.
|
115
|
+
MONGREL_VERSION='Mongrel 0.3.4'
|
114
116
|
|
115
117
|
# The standard empty 404 response for bad requests. Use Error4040Handler for custom stuff.
|
116
118
|
ERROR_404_RESPONSE="HTTP/1.1 404 Not Found\r\nConnection: close\r\nServer: #{MONGREL_VERSION}\r\n\r\nNOT FOUND"
|
@@ -243,7 +245,8 @@ module Mongrel
|
|
243
245
|
end
|
244
246
|
|
245
247
|
def send_status
|
246
|
-
|
248
|
+
status = "HTTP/1.1 #{@status} #{HTTP_STATUS_CODES[@status]}\r\nContent-Length: #{@body.length}\r\nConnection: close\r\n"
|
249
|
+
@socket.write(status)
|
247
250
|
end
|
248
251
|
|
249
252
|
def send_header
|
@@ -254,7 +257,6 @@ module Mongrel
|
|
254
257
|
|
255
258
|
def send_body
|
256
259
|
@body.rewind
|
257
|
-
|
258
260
|
# connection: close is also added to ensure that the client does not pipeline.
|
259
261
|
@socket.write(@body.read)
|
260
262
|
end
|
@@ -590,4 +592,88 @@ module Mongrel
|
|
590
592
|
end
|
591
593
|
|
592
594
|
|
595
|
+
# The beginning of a complete wrapper around Mongrel's internal HTTP processing
|
596
|
+
# system but maintaining the original Ruby CGI module. Use this only as a crutch
|
597
|
+
# to get existing CGI based systems working. It should handle everything, but please
|
598
|
+
# notify me if you see special warnings. This work is still very alpha so I need
|
599
|
+
# testers to help work out the various corner cases.
|
600
|
+
|
601
|
+
class CGIWrapper < ::CGI
|
602
|
+
public :env_table
|
603
|
+
attr_reader :options
|
604
|
+
|
605
|
+
def initialize(request, response, *args)
|
606
|
+
@request = request
|
607
|
+
@response = response
|
608
|
+
@args = *args
|
609
|
+
@input = StringIO.new(request.body)
|
610
|
+
@options = {}
|
611
|
+
super(*args)
|
612
|
+
end
|
613
|
+
|
614
|
+
# The header is typically called to send back the header. In our case we
|
615
|
+
# collect it into a hash for later usage. Options passed to this function
|
616
|
+
# are capitalized properly (unlike CGI), sanitized and then just stored.
|
617
|
+
def header(options = "text/html")
|
618
|
+
if options.class == Hash
|
619
|
+
# passing in a header so need to keep the status around and other options
|
620
|
+
@options = @options.merge(options)
|
621
|
+
else
|
622
|
+
@options["Content-Type"] = options
|
623
|
+
end
|
624
|
+
|
625
|
+
# doing this fakes out the cgi library to think the headers are empty
|
626
|
+
# we then do the real headers in the out function call later
|
627
|
+
""
|
628
|
+
end
|
629
|
+
|
630
|
+
# The dumb thing is people can call header or this or both and in any order.
|
631
|
+
# So, we just reuse header and then finalize the HttpResponse the right way.
|
632
|
+
# Status is taken from the various options and converted to what Mongrel needs
|
633
|
+
# via the CGIWrapper.status function.
|
634
|
+
def out(options = "text/html")
|
635
|
+
header(options)
|
636
|
+
@response.start status do |head, out|
|
637
|
+
@options.each {|k,v| head[k.capitalize] = v}
|
638
|
+
out.write(yield || "")
|
639
|
+
end
|
640
|
+
end
|
641
|
+
|
642
|
+
# Computes the status once, but lazily so that people who call header twice
|
643
|
+
# don't get penalized. Because CGI insists on including the options status
|
644
|
+
# message in the status we have to do a bit of parsing.
|
645
|
+
def status
|
646
|
+
if not @status
|
647
|
+
@status = @options["Status"] || @options["status"]
|
648
|
+
|
649
|
+
if @status
|
650
|
+
@status[0 ... @status.index(' ')] || "200"
|
651
|
+
else
|
652
|
+
@status = "200"
|
653
|
+
end
|
654
|
+
end
|
655
|
+
end
|
656
|
+
|
657
|
+
# Used to wrap the normal args variable used inside CGI.
|
658
|
+
def args
|
659
|
+
@args
|
660
|
+
end
|
661
|
+
|
662
|
+
# Used to wrap the normal env_table variable used inside CGI.
|
663
|
+
def env_table
|
664
|
+
@request.params
|
665
|
+
end
|
666
|
+
|
667
|
+
# Used to wrap the normal stdinput variable used inside CGI.
|
668
|
+
def stdinput
|
669
|
+
@input
|
670
|
+
end
|
671
|
+
|
672
|
+
# The stdoutput should be completely bypassed but we'll drop a warning just in case
|
673
|
+
def stdoutput
|
674
|
+
STDERR.puts "WARNING: Your program is doing something not expected. Please tell Zed that stdoutput was used and what software you are running. Thanks."
|
675
|
+
@response.body
|
676
|
+
end
|
677
|
+
end
|
678
|
+
|
593
679
|
end
|
data/lib/mongrel/command.rb
CHANGED
data/tools/rakehelp.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
def make(makedir)
|
3
3
|
Dir.chdir(makedir) do
|
4
|
-
sh 'make'
|
4
|
+
sh(PLATFORM =~ /win32/ ? 'nmake' : 'make')
|
5
5
|
end
|
6
6
|
end
|
7
7
|
|
@@ -64,14 +64,14 @@ def setup_extension(dir, extension)
|
|
64
64
|
end
|
65
65
|
|
66
66
|
|
67
|
-
def
|
67
|
+
def base_gem_spec(pkg_name, pkg_version, author, summary, executables, test_file)
|
68
68
|
pkg_version = pkg_version
|
69
69
|
pkg_name = pkg_name
|
70
70
|
pkg_file_name = "#{pkg_name}-#{pkg_version}"
|
71
|
-
|
72
|
-
spec = Gem::Specification.new do |s|
|
71
|
+
Gem::Specification.new do |s|
|
73
72
|
s.name = pkg_name
|
74
73
|
s.version = pkg_version
|
74
|
+
s.required_ruby_version = '>= 1.8.3'
|
75
75
|
s.platform = Gem::Platform::RUBY
|
76
76
|
s.author = author
|
77
77
|
s.summary = summary
|
@@ -90,14 +90,22 @@ def setup_gem(pkg_name, pkg_version, author, summary, executables, test_file)
|
|
90
90
|
|
91
91
|
s.executables = executables
|
92
92
|
s.bindir = "bin"
|
93
|
-
|
94
|
-
if block_given?
|
95
|
-
yield s
|
96
|
-
end
|
97
93
|
end
|
98
|
-
|
94
|
+
end
|
95
|
+
|
96
|
+
def setup_gem(pkg_name, pkg_version, author, summary, executables, test_file)
|
97
|
+
spec = base_gem_spec(pkg_name, pkg_version, author, summary, executables, test_file)
|
98
|
+
yield spec if block_given?
|
99
|
+
|
99
100
|
Rake::GemPackageTask.new(spec) do |p|
|
100
101
|
p.gem_spec = spec
|
101
102
|
p.need_tar = true
|
102
103
|
end
|
103
104
|
end
|
105
|
+
|
106
|
+
def setup_win32_gem(pkg_name, pkg_version, author, summary, executables, test_file)
|
107
|
+
spec = base_gem_spec(pkg_name, pkg_version, author, summary, executables, test_file)
|
108
|
+
yield spec if block_given?
|
109
|
+
|
110
|
+
Gem::Builder.new(spec).build
|
111
|
+
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: mongrel
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.
|
7
|
-
date: 2006-02-
|
6
|
+
version: 0.3.4
|
7
|
+
date: 2006-02-16 00:00:00 -05:00
|
8
8
|
summary: A small fast HTTP library and server that runs Rails, Camping, and Nitro apps.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -18,9 +18,9 @@ bindir: bin
|
|
18
18
|
has_rdoc: true
|
19
19
|
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
20
|
requirements:
|
21
|
-
- - "
|
21
|
+
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 1.8.3
|
24
24
|
version:
|
25
25
|
platform: ruby
|
26
26
|
signing_key:
|
@@ -50,6 +50,8 @@ files:
|
|
50
50
|
- doc/rdoc/classes/PluginFactory.html
|
51
51
|
- doc/rdoc/classes/PluginFactory.src
|
52
52
|
- doc/rdoc/classes/FactoryError.src/M000001.html
|
53
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.html
|
54
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src
|
53
55
|
- doc/rdoc/classes/Mongrel/Const.html
|
54
56
|
- doc/rdoc/classes/Mongrel/DirHandler.html
|
55
57
|
- doc/rdoc/classes/Mongrel/DirHandler.src
|
@@ -69,14 +71,22 @@ files:
|
|
69
71
|
- doc/rdoc/classes/Mongrel/HttpServer.src
|
70
72
|
- doc/rdoc/classes/Mongrel/URIClassifier.html
|
71
73
|
- doc/rdoc/classes/Mongrel/URIClassifier.src
|
74
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000047.html
|
75
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000048.html
|
76
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000049.html
|
77
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000050.html
|
78
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000051.html
|
79
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000052.html
|
80
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000053.html
|
81
|
+
- doc/rdoc/classes/Mongrel/CGIWrapper.src/M000054.html
|
72
82
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000022.html
|
73
83
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000023.html
|
74
84
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000024.html
|
75
85
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000025.html
|
76
86
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000026.html
|
77
87
|
- doc/rdoc/classes/Mongrel/DirHandler.src/M000027.html
|
78
|
-
- doc/rdoc/classes/Mongrel/Error404Handler.src/
|
79
|
-
- doc/rdoc/classes/Mongrel/Error404Handler.src/
|
88
|
+
- doc/rdoc/classes/Mongrel/Error404Handler.src/M000055.html
|
89
|
+
- doc/rdoc/classes/Mongrel/Error404Handler.src/M000056.html
|
80
90
|
- doc/rdoc/classes/Mongrel/HeaderOut.src/M000033.html
|
81
91
|
- doc/rdoc/classes/Mongrel/HeaderOut.src/M000034.html
|
82
92
|
- doc/rdoc/classes/Mongrel/HttpHandler.src/M000039.html
|
@@ -87,7 +97,7 @@ files:
|
|
87
97
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000019.html
|
88
98
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000020.html
|
89
99
|
- doc/rdoc/classes/Mongrel/HttpParser.src/M000021.html
|
90
|
-
- doc/rdoc/classes/Mongrel/HttpRequest.src/
|
100
|
+
- doc/rdoc/classes/Mongrel/HttpRequest.src/M000057.html
|
91
101
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000040.html
|
92
102
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000041.html
|
93
103
|
- doc/rdoc/classes/Mongrel/HttpResponse.src/M000042.html
|