mongrel 0.3.9 → 0.3.10

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.
Files changed (114) hide show
  1. data/Rakefile +38 -15
  2. data/bin/mongrel_rails +13 -11
  3. data/doc/rdoc/classes/Mongrel.html +6 -1
  4. data/doc/rdoc/classes/Mongrel/CGIWrapper.html +49 -49
  5. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000057.html +11 -5
  6. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000058.html +34 -5
  7. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000059.html +21 -6
  8. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000054.html → M000060.html} +0 -0
  9. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000055.html → M000061.html} +0 -0
  10. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/{M000056.html → M000062.html} +0 -0
  11. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000063.html +18 -0
  12. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000064.html +18 -0
  13. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000065.html +19 -0
  14. data/doc/rdoc/classes/Mongrel/Camping.html +177 -0
  15. data/doc/rdoc/classes/Mongrel/Camping.src/M000019.html +22 -0
  16. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.html +165 -0
  17. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000020.html +18 -0
  18. data/doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000021.html +27 -0
  19. data/doc/rdoc/classes/Mongrel/Command/Base.html +50 -50
  20. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000006.html +11 -5
  21. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000007.html +28 -5
  22. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000008.html +5 -9
  23. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000009.html +5 -5
  24. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000010.html +5 -5
  25. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000011.html +9 -5
  26. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000012.html +5 -5
  27. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000013.html +18 -0
  28. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000014.html +18 -0
  29. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000015.html +18 -0
  30. data/doc/rdoc/classes/Mongrel/Command/Registry.html +15 -15
  31. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000013.html → M000016.html} +6 -6
  32. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000014.html → M000017.html} +11 -11
  33. data/doc/rdoc/classes/Mongrel/Command/Registry.src/{M000015.html → M000018.html} +32 -32
  34. data/doc/rdoc/classes/Mongrel/Const.html +3 -3
  35. data/doc/rdoc/classes/Mongrel/DirHandler.html +31 -31
  36. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000023.html → M000029.html} +0 -0
  37. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000024.html → M000030.html} +0 -0
  38. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000025.html → M000031.html} +0 -0
  39. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000026.html → M000032.html} +0 -0
  40. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000027.html → M000033.html} +0 -0
  41. data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000028.html → M000034.html} +0 -0
  42. data/doc/rdoc/classes/Mongrel/Error404Handler.html +10 -10
  43. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000060.html → M000066.html} +0 -0
  44. data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000061.html → M000067.html} +0 -0
  45. data/doc/rdoc/classes/Mongrel/HeaderOut.html +10 -10
  46. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000035.html → M000041.html} +4 -4
  47. data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000036.html → M000042.html} +7 -7
  48. data/doc/rdoc/classes/Mongrel/HttpHandler.html +5 -5
  49. data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000037.html → M000043.html} +0 -0
  50. data/doc/rdoc/classes/Mongrel/HttpParser.html +35 -35
  51. data/doc/rdoc/classes/Mongrel/HttpParser.src/M000022.html +6 -6
  52. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000017.html → M000023.html} +0 -0
  53. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000018.html → M000024.html} +0 -0
  54. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000019.html → M000025.html} +0 -0
  55. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000020.html → M000026.html} +0 -0
  56. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000021.html → M000027.html} +0 -0
  57. data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000016.html → M000028.html} +6 -6
  58. data/doc/rdoc/classes/Mongrel/HttpRequest.html +5 -5
  59. data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000062.html → M000068.html} +24 -24
  60. data/doc/rdoc/classes/Mongrel/HttpResponse.html +36 -36
  61. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000044.html +8 -7
  62. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000039.html → M000045.html} +6 -6
  63. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000040.html → M000046.html} +5 -5
  64. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000041.html → M000047.html} +5 -5
  65. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000042.html → M000048.html} +6 -6
  66. data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000043.html → M000049.html} +6 -6
  67. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000050.html +20 -0
  68. data/doc/rdoc/classes/Mongrel/HttpServer.html +33 -33
  69. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000029.html → M000035.html} +22 -22
  70. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000030.html → M000036.html} +43 -43
  71. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000031.html → M000037.html} +34 -34
  72. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000032.html → M000038.html} +4 -4
  73. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000033.html → M000039.html} +4 -4
  74. data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000034.html → M000040.html} +9 -9
  75. data/doc/rdoc/classes/Mongrel/URIClassifier.html +30 -30
  76. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000045.html → M000051.html} +4 -4
  77. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000046.html → M000052.html} +4 -4
  78. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000047.html → M000053.html} +0 -0
  79. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000048.html → M000054.html} +0 -0
  80. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000049.html → M000055.html} +0 -0
  81. data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000050.html → M000056.html} +0 -0
  82. data/doc/rdoc/classes/RailsHandler.html +30 -10
  83. data/doc/rdoc/classes/RailsHandler.src/{M000001.html → M000003.html} +8 -8
  84. data/doc/rdoc/classes/RailsHandler.src/{M000002.html → M000004.html} +34 -34
  85. data/doc/rdoc/classes/RailsHandler.src/M000005.html +23 -0
  86. data/doc/rdoc/classes/TCPServer.html +173 -0
  87. data/doc/rdoc/classes/TCPServer.src/M000001.html +19 -0
  88. data/doc/rdoc/created.rid +1 -1
  89. data/doc/rdoc/files/lib/mongrel/camping_rb.html +108 -0
  90. data/doc/rdoc/files/lib/mongrel/command_rb.html +3 -2
  91. data/doc/rdoc/files/lib/mongrel/{plugins_rb.html → init_rb.html} +5 -4
  92. data/doc/rdoc/files/lib/mongrel/rails_rb.html +2 -1
  93. data/doc/rdoc/files/lib/mongrel/tcphack_rb.html +109 -0
  94. data/doc/rdoc/files/lib/mongrel_rb.html +2 -2
  95. data/doc/rdoc/fr_class_index.html +3 -0
  96. data/doc/rdoc/fr_file_index.html +3 -1
  97. data/doc/rdoc/fr_method_index.html +68 -62
  98. data/examples/camping/blog.rb +22 -37
  99. data/examples/camping/tepee.rb +3 -23
  100. data/lib/mongrel.rb +3 -4
  101. data/lib/mongrel/camping.rb +64 -0
  102. data/lib/mongrel/command.rb +3 -2
  103. data/lib/mongrel/{plugins.rb → init.rb} +1 -1
  104. data/lib/mongrel/rails.rb +16 -6
  105. data/lib/mongrel/tcphack.rb +12 -0
  106. data/tools/rakehelp.rb +10 -12
  107. metadata +74 -58
  108. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000051.html +0 -24
  109. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000052.html +0 -47
  110. data/doc/rdoc/classes/Mongrel/CGIWrapper.src/M000053.html +0 -34
  111. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000003.html +0 -24
  112. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000004.html +0 -41
  113. data/doc/rdoc/classes/Mongrel/Command/Base.src/M000005.html +0 -18
  114. data/doc/rdoc/classes/Mongrel/HttpResponse.src/M000038.html +0 -21
@@ -2,10 +2,15 @@
2
2
 
3
3
  $:.unshift File.dirname(__FILE__) + "/../../lib"
4
4
  require 'rubygems'
5
- require 'camping'
5
+ require_gem 'camping', '>=1.4'
6
+ require 'camping/session'
6
7
 
7
8
  Camping.goes :Blog
8
9
 
10
+ module Blog
11
+ include Camping::Session
12
+ end
13
+
9
14
  module Blog::Models
10
15
  def self.schema(&block)
11
16
  @@schema = block if block_given?
@@ -48,15 +53,15 @@ module Blog::Controllers
48
53
 
49
54
  class Add
50
55
  def get
51
- unless cookies.user_id.blank?
52
- @session = User.find cookies.user_id
56
+ unless @state.user_id.blank?
57
+ @user = User.find @state.user_id
53
58
  @post = Post.new
54
59
  end
55
60
  render :add
56
61
  end
57
62
  def post
58
63
  post = Post.create :title => input.post_title, :body => input.post_body,
59
- :user_id => @cookies.user_id
64
+ :user_id => @state.user_id
60
65
  redirect View, post
61
66
  end
62
67
  end
@@ -81,8 +86,8 @@ module Blog::Controllers
81
86
 
82
87
  class Edit < R '/edit/(\d+)', '/edit'
83
88
  def get post_id
84
- unless cookies.user_id.blank?
85
- @session = User.find cookies.user_id
89
+ unless @state.user_id.blank?
90
+ @user = User.find @state.user_id
86
91
  end
87
92
  @post = Post.find post_id
88
93
  render :edit
@@ -109,7 +114,7 @@ module Blog::Controllers
109
114
 
110
115
  if @user
111
116
  @login = 'login success !'
112
- cookies.user_id = @user.id
117
+ @state.user_id = @user.id
113
118
  else
114
119
  @login = 'wrong user name or password'
115
120
  end
@@ -119,7 +124,7 @@ module Blog::Controllers
119
124
 
120
125
  class Logout
121
126
  def get
122
- cookies.user_id = nil
127
+ @state.user_id = nil
123
128
  render :logout
124
129
  end
125
130
  end
@@ -183,7 +188,7 @@ module Blog::Views
183
188
  end
184
189
 
185
190
  def add
186
- if @session
191
+ if @user
187
192
  _form(post, :action => R(Add))
188
193
  else
189
194
  _login
@@ -191,7 +196,7 @@ module Blog::Views
191
196
  end
192
197
 
193
198
  def edit
194
- if @session
199
+ if @user
195
200
  _form(post, :action => R(Edit))
196
201
  else
197
202
  _login
@@ -241,7 +246,7 @@ module Blog::Views
241
246
 
242
247
  def _form(post, opts)
243
248
  p do
244
- text "You are logged in as #{@session.username} | "
249
+ text "You are logged in as #{@user.username} | "
245
250
  a 'Logout', :href => R(Logout)
246
251
  end
247
252
  form({:method => 'post'}.merge(opts)) do
@@ -259,42 +264,22 @@ module Blog::Views
259
264
  end
260
265
 
261
266
  def Blog.create
267
+ Camping::Models::Session.create_schema
262
268
  unless Blog::Models::Post.table_exists?
263
269
  ActiveRecord::Schema.define(&Blog::Models.schema)
264
- puts "** The blog.db file has been created."
265
- puts "** When adding/editing posts -- username: admin, password: camping"
266
270
  end
267
271
  end
268
272
 
269
273
  if __FILE__ == $0
270
- require 'thread'
271
-
272
- class CampingHandler < Mongrel::HttpHandler
273
- def initialize(klass)
274
- @klass = klass
275
- end
276
- def process(request, response)
277
- req = StringIO.new(request.body)
278
- controller = @klass.run(req, request.params)
279
- response.start(controller.status) do |head,out|
280
- controller.headers.each do |k, v|
281
- [*v].each do |vi|
282
- head[k] = vi
283
- end
284
- end
285
- out << controller.body
286
- end
287
- end
288
- end
274
+ require 'mongrel/camping'
289
275
 
290
276
  Blog::Models::Base.establish_connection :adapter => 'sqlite3', :database => 'blog.db'
291
277
  Blog::Models::Base.logger = Logger.new('camping.log')
292
278
  Blog::Models::Base.threaded_connections=false
293
279
  Blog.create
294
280
 
295
- h = Mongrel::HttpServer.new("0.0.0.0", "3000")
296
- puts "** Blog example is running at http://localhost:3000/blog"
297
- h.register("/blog", CampingHandler.new(Blog))
298
- h.register("/favicon.ico", Mongrel::Error404Handler.new(""))
299
- h.run.join
281
+ server = Mongrel::Camping::start("0.0.0.0",3002,"/blog",Blog)
282
+ puts "** Blog example is running at http://localhost:3002/blog"
283
+ puts "** Default username is `admin', password is `camping'"
284
+ server.acceptor.join
300
285
  end
@@ -135,34 +135,14 @@ def Tepee.create
135
135
  end
136
136
 
137
137
  if __FILE__ == $0
138
- require 'thread'
139
-
140
- class CampingHandler < Mongrel::HttpHandler
141
- def initialize(klass)
142
- @klass = klass
143
- end
144
- def process(request, response)
145
- req = StringIO.new(request.body)
146
- controller = @klass.run(req, request.params)
147
- response.start(controller.status) do |head,out|
148
- controller.headers.each do |k, v|
149
- [*v].each do |vi|
150
- head[k] = vi
151
- end
152
- end
153
- out << controller.body
154
- end
155
- end
156
- end
138
+ require 'mongrel/camping'
157
139
 
158
140
  Tepee::Models::Base.establish_connection :adapter => 'sqlite3', :database => 'tepee.db'
159
141
  Tepee::Models::Base.logger = Logger.new('camping.log')
160
142
  Tepee::Models::Base.threaded_connections=false
161
143
  Tepee.create
162
144
 
163
- h = Mongrel::HttpServer.new("0.0.0.0", "3000")
145
+ server = Mongrel::Camping::start("0.0.0.0",3000,"/tepee",Tepee)
164
146
  puts "** Tepee example is running at http://localhost:3000/tepee"
165
- h.register("/tepee", CampingHandler.new(Tepee))
166
- h.register("/favicon.ico", Mongrel::Error404Handler.new(""))
167
- h.run.join
147
+ server.acceptor.join
168
148
  end
@@ -5,8 +5,9 @@ require 'stringio'
5
5
  require 'mongrel/cgi'
6
6
  require 'mongrel/handlers'
7
7
  require 'mongrel/command'
8
- require 'mongrel/plugins'
9
8
  require 'timeout'
9
+ require 'mongrel/tcphack'
10
+
10
11
 
11
12
  # Mongrel module containing all of the classes (include C extensions) for running
12
13
  # a Mongrel web server. It contains a minimalist HTTP server with just enough
@@ -140,7 +141,7 @@ module Mongrel
140
141
  SERVER_SOFTWARE='SERVER_SOFTWARE'
141
142
 
142
143
  # Current Mongrel version (used for SERVER_SOFTWARE and other response headers).
143
- MONGREL_VERSION='Mongrel 0.3.8'
144
+ MONGREL_VERSION='Mongrel 0.3.10'
144
145
 
145
146
  # The standard empty 404 response for bad requests. Use Error4040Handler for custom stuff.
146
147
  ERROR_404_RESPONSE="HTTP/1.1 404 Not Found\r\nConnection: close\r\nServer: #{MONGREL_VERSION}\r\n\r\nNOT FOUND"
@@ -477,5 +478,3 @@ module Mongrel
477
478
  end
478
479
 
479
480
  end
480
-
481
-
@@ -0,0 +1,64 @@
1
+ require 'mongrel'
2
+
3
+
4
+ module Mongrel
5
+ # Support for the Camping micro framework at http://camping.rubyforge.org
6
+ # This implements the unusually long Postamble that Camping usually
7
+ # needs and shrinks it down to just a single line or two.
8
+ #
9
+ # Your Postamble would now be:
10
+ #
11
+ # Mongrel::Camping::start("0.0.0.0",3001,"/tepee",Tepee).join
12
+ #
13
+ # If you wish to get fancier than this then you can use the
14
+ # Camping::CampingHandler directly instead and do your own
15
+ # wiring:
16
+ #
17
+ # h = Mongrel::HttpServer.new(server, port)
18
+ # h.register(uri, CampingHandler.new(Tepee))
19
+ # h.register("/favicon.ico", Mongrel::Error404Handler.new(""))
20
+ #
21
+ # I add the /favicon.ico since camping apps typically don't
22
+ # have them and it's just annoying anyway.
23
+ module Camping
24
+
25
+ # This is a specialized handler for Camping applications
26
+ # that has them process the request and then translates
27
+ # the results into something the Mongrel::HttpResponse
28
+ # needs.
29
+ class CampingHandler < Mongrel::HttpHandler
30
+ def initialize(klass)
31
+ @klass = klass
32
+ end
33
+
34
+ def process(request, response)
35
+ req = StringIO.new(request.body)
36
+ controller = @klass.run(req, request.params)
37
+ response.start(controller.status) do |head,out|
38
+ controller.headers.each do |k, v|
39
+ [*v].each do |vi|
40
+ head[k] = vi
41
+ end
42
+ end
43
+ out << controller.body
44
+ end
45
+ end
46
+ end
47
+
48
+ # This is a convenience method that wires up a CampingHandler
49
+ # for your application on a given port and uri. It's pretty
50
+ # much all you need for a camping application to work right.
51
+ #
52
+ # It returns the Mongrel::HttpServer which you should either
53
+ # join or somehow manage. The thread is running when
54
+ # returned.
55
+
56
+ def Camping.start(server, port, uri, klass)
57
+ h = Mongrel::HttpServer.new(server, port)
58
+ h.register(uri, CampingHandler.new(klass))
59
+ h.register("/favicon.ico", Mongrel::Error404Handler.new(""))
60
+ h.run
61
+ return h
62
+ end
63
+ end
64
+ end
@@ -1,6 +1,7 @@
1
+ require 'rubygems'
1
2
  require 'singleton'
2
3
  require 'optparse'
3
- require 'mongrel/plugins'
4
+ require 'gem_plugin'
4
5
 
5
6
  module Mongrel
6
7
 
@@ -114,7 +115,7 @@ module Mongrel
114
115
  # Builds a list of possible commands from the Command derivates list
115
116
  def commands
116
117
  pmgr = GemPlugin::Manager.instance
117
- list = pmgr.available["/commands"].keys
118
+ list = pmgr.plugins["/commands"].keys
118
119
  return list.sort
119
120
  end
120
121
 
@@ -1,5 +1,5 @@
1
1
  require 'rubygems'
2
- require_gem 'mongrel_plugin'
2
+ require 'gem_plugin'
3
3
 
4
4
  # file is just a stub that makes sure the mongrel_plugins gem is loaded and ready
5
5
 
@@ -1,5 +1,5 @@
1
1
  require 'mongrel'
2
- require_gem 'rails'
2
+ require 'cgi'
3
3
 
4
4
  # Implements a handler that can run Rails and serve files out of the
5
5
  # Rails application's public directory. This lets you run your Rails
@@ -23,11 +23,12 @@ require_gem 'rails'
23
23
  # An additional feature you can use is
24
24
  class RailsHandler < Mongrel::HttpHandler
25
25
  attr_reader :files
26
-
26
+ attr_reader :guard
27
+
27
28
  def initialize(dir, mime_map = {})
28
29
  @files = Mongrel::DirHandler.new(dir,false)
29
30
  @guard = Mutex.new
30
-
31
+
31
32
  # register the requested mime types
32
33
  mime_map.each {|k,v| Mongrel::DirHandler::add_mime_type(k,v) }
33
34
  end
@@ -52,10 +53,10 @@ class RailsHandler < Mongrel::HttpHandler
52
53
  request.params[Mongrel::Const::PATH_INFO] = page_cached
53
54
  @files.process(request,response)
54
55
  else
55
- cgi = Mongrel::CGIWrapper.new(request, response)
56
- cgi.handler = self
57
-
58
56
  begin
57
+ cgi = Mongrel::CGIWrapper.new(request, response)
58
+ cgi.handler = self
59
+
59
60
  @guard.synchronize do
60
61
  # Rails is not thread safe so must be run entirely within synchronize
61
62
  Dispatcher.dispatch(cgi, ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS, response.body)
@@ -72,4 +73,13 @@ class RailsHandler < Mongrel::HttpHandler
72
73
  end
73
74
  end
74
75
 
76
+
77
+ def reload!
78
+ @guard.synchronize do
79
+ $".replace $orig_dollar_quote
80
+ GC.start
81
+ Dispatcher.reset_application!
82
+ ActionController::Routing::Routes.reload
83
+ end
84
+ end
75
85
  end
@@ -0,0 +1,12 @@
1
+
2
+ # A modification proposed by Sean Treadway that increases the default accept
3
+ # queue of TCPServer to 1024 so that it handles more concurrent requests.
4
+ class TCPServer
5
+ def initialize_with_backlog(*args)
6
+ initialize_without_backlog(*args)
7
+ listen(1024)
8
+ end
9
+
10
+ alias_method :initialize_without_backlog, :initialize
11
+ alias_method :initialize, :initialize_with_backlog
12
+ end
@@ -64,22 +64,18 @@ def setup_extension(dir, extension)
64
64
  end
65
65
 
66
66
 
67
- def base_gem_spec(pkg_name, pkg_version, author, summary, executables, test_file)
67
+ def base_gem_spec(pkg_name, pkg_version)
68
68
  pkg_version = pkg_version
69
69
  pkg_name = pkg_name
70
70
  pkg_file_name = "#{pkg_name}-#{pkg_version}"
71
71
  Gem::Specification.new do |s|
72
72
  s.name = pkg_name
73
73
  s.version = pkg_version
74
- s.required_ruby_version = '>= 1.8.3'
75
74
  s.platform = Gem::Platform::RUBY
76
- s.author = author
77
- s.summary = summary
78
- s.test_file = test_file
79
75
  s.has_rdoc = true
80
76
  s.extra_rdoc_files = [ "README" ]
81
77
 
82
- s.files = %w(COPYING LICENSE ext/http11/MANIFEST README Rakefile setup.rb) +
78
+ s.files = %w(COPYING LICENSE README Rakefile) +
83
79
  Dir.glob("{bin,doc/rdoc,test,lib}/**/*") +
84
80
  Dir.glob("ext/**/*.{h,c,rb}") +
85
81
  Dir.glob("examples/**/*.rb") +
@@ -87,14 +83,12 @@ def base_gem_spec(pkg_name, pkg_version, author, summary, executables, test_file
87
83
 
88
84
  s.require_path = "lib"
89
85
  s.extensions = FileList["ext/**/extconf.rb"].to_a
90
-
91
- s.executables = executables
92
86
  s.bindir = "bin"
93
87
  end
94
88
  end
95
89
 
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)
90
+ def setup_gem(pkg_name, pkg_version)
91
+ spec = base_gem_spec(pkg_name, pkg_version)
98
92
  yield spec if block_given?
99
93
 
100
94
  Rake::GemPackageTask.new(spec) do |p|
@@ -103,9 +97,13 @@ def setup_gem(pkg_name, pkg_version, author, summary, executables, test_file)
103
97
  end
104
98
  end
105
99
 
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)
100
+ def setup_win32_gem(pkg_name, pkg_version)
101
+ spec = base_gem_spec(pkg_name, pkg_version)
108
102
  yield spec if block_given?
109
103
 
110
104
  Gem::Builder.new(spec).build
111
105
  end
106
+
107
+ def sub_project(project, target="")
108
+ sh %{cd projects/#{project}; rake #{target.to_s}; }
109
+ end
metadata CHANGED
@@ -3,15 +3,15 @@ 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.9
7
- date: 2006-03-06 00:00:00 -05:00
6
+ version: 0.3.10
7
+ date: 2006-03-12 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
11
11
  email:
12
12
  homepage:
13
13
  rubyforge_project:
14
- description:
14
+ description: A small fast HTTP library and server that runs Rails, Camping, and Nitro apps.
15
15
  autorequire:
16
16
  default_executable:
17
17
  bindir: bin
@@ -20,7 +20,7 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.8.3
23
+ version: 1.8.4
24
24
  version:
25
25
  platform: ruby
26
26
  signing_key:
@@ -30,10 +30,8 @@ authors:
30
30
  files:
31
31
  - COPYING
32
32
  - LICENSE
33
- - ext/http11/MANIFEST
34
33
  - README
35
34
  - Rakefile
36
- - setup.rb
37
35
  - bin/mongrel_rails
38
36
  - bin/mongrel_rails_service
39
37
  - bin/mongrel_rails_svc
@@ -49,6 +47,11 @@ files:
49
47
  - doc/rdoc/classes/Mongrel.html
50
48
  - doc/rdoc/classes/RailsHandler.html
51
49
  - doc/rdoc/classes/RailsHandler.src
50
+ - doc/rdoc/classes/TCPServer.html
51
+ - doc/rdoc/classes/TCPServer.src
52
+ - doc/rdoc/classes/Mongrel/Camping
53
+ - doc/rdoc/classes/Mongrel/Camping.html
54
+ - doc/rdoc/classes/Mongrel/Camping.src
52
55
  - doc/rdoc/classes/Mongrel/CGIWrapper.html
53
56
  - doc/rdoc/classes/Mongrel/CGIWrapper.src
54
57
  - doc/rdoc/classes/Mongrel/Command
@@ -74,22 +77,24 @@ files:
74
77
  - doc/rdoc/classes/Mongrel/TimeoutWorker.html
75
78
  - doc/rdoc/classes/Mongrel/URIClassifier.html
76
79
  - doc/rdoc/classes/Mongrel/URIClassifier.src
77
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000051.html
78
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000052.html
79
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000053.html
80
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000054.html
81
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000055.html
82
- - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000056.html
80
+ - doc/rdoc/classes/Mongrel/Camping/CampingHandler.html
81
+ - doc/rdoc/classes/Mongrel/Camping/CampingHandler.src
82
+ - doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000020.html
83
+ - doc/rdoc/classes/Mongrel/Camping/CampingHandler.src/M000021.html
84
+ - doc/rdoc/classes/Mongrel/Camping.src/M000019.html
83
85
  - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000057.html
84
86
  - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000058.html
85
87
  - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000059.html
88
+ - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000060.html
89
+ - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000061.html
90
+ - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000062.html
91
+ - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000063.html
92
+ - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000064.html
93
+ - doc/rdoc/classes/Mongrel/CGIWrapper.src/M000065.html
86
94
  - doc/rdoc/classes/Mongrel/Command/Base.html
87
95
  - doc/rdoc/classes/Mongrel/Command/Base.src
88
96
  - doc/rdoc/classes/Mongrel/Command/Registry.html
89
97
  - doc/rdoc/classes/Mongrel/Command/Registry.src
90
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000003.html
91
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000004.html
92
- - doc/rdoc/classes/Mongrel/Command/Base.src/M000005.html
93
98
  - doc/rdoc/classes/Mongrel/Command/Base.src/M000006.html
94
99
  - doc/rdoc/classes/Mongrel/Command/Base.src/M000007.html
95
100
  - doc/rdoc/classes/Mongrel/Command/Base.src/M000008.html
@@ -97,49 +102,54 @@ files:
97
102
  - doc/rdoc/classes/Mongrel/Command/Base.src/M000010.html
98
103
  - doc/rdoc/classes/Mongrel/Command/Base.src/M000011.html
99
104
  - doc/rdoc/classes/Mongrel/Command/Base.src/M000012.html
100
- - doc/rdoc/classes/Mongrel/Command/Registry.src/M000013.html
101
- - doc/rdoc/classes/Mongrel/Command/Registry.src/M000014.html
102
- - doc/rdoc/classes/Mongrel/Command/Registry.src/M000015.html
103
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000023.html
104
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000024.html
105
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000025.html
106
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000026.html
107
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000027.html
108
- - doc/rdoc/classes/Mongrel/DirHandler.src/M000028.html
109
- - doc/rdoc/classes/Mongrel/Error404Handler.src/M000060.html
110
- - doc/rdoc/classes/Mongrel/Error404Handler.src/M000061.html
111
- - doc/rdoc/classes/Mongrel/HeaderOut.src/M000035.html
112
- - doc/rdoc/classes/Mongrel/HeaderOut.src/M000036.html
113
- - doc/rdoc/classes/Mongrel/HttpHandler.src/M000037.html
114
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000016.html
115
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000017.html
116
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000018.html
117
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000019.html
118
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000020.html
119
- - doc/rdoc/classes/Mongrel/HttpParser.src/M000021.html
105
+ - doc/rdoc/classes/Mongrel/Command/Base.src/M000013.html
106
+ - doc/rdoc/classes/Mongrel/Command/Base.src/M000014.html
107
+ - doc/rdoc/classes/Mongrel/Command/Base.src/M000015.html
108
+ - doc/rdoc/classes/Mongrel/Command/Registry.src/M000016.html
109
+ - doc/rdoc/classes/Mongrel/Command/Registry.src/M000017.html
110
+ - doc/rdoc/classes/Mongrel/Command/Registry.src/M000018.html
111
+ - doc/rdoc/classes/Mongrel/DirHandler.src/M000029.html
112
+ - doc/rdoc/classes/Mongrel/DirHandler.src/M000030.html
113
+ - doc/rdoc/classes/Mongrel/DirHandler.src/M000031.html
114
+ - doc/rdoc/classes/Mongrel/DirHandler.src/M000032.html
115
+ - doc/rdoc/classes/Mongrel/DirHandler.src/M000033.html
116
+ - doc/rdoc/classes/Mongrel/DirHandler.src/M000034.html
117
+ - doc/rdoc/classes/Mongrel/Error404Handler.src/M000066.html
118
+ - doc/rdoc/classes/Mongrel/Error404Handler.src/M000067.html
119
+ - doc/rdoc/classes/Mongrel/HeaderOut.src/M000041.html
120
+ - doc/rdoc/classes/Mongrel/HeaderOut.src/M000042.html
121
+ - doc/rdoc/classes/Mongrel/HttpHandler.src/M000043.html
120
122
  - doc/rdoc/classes/Mongrel/HttpParser.src/M000022.html
121
- - doc/rdoc/classes/Mongrel/HttpRequest.src/M000062.html
122
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000038.html
123
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000039.html
124
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000040.html
125
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000041.html
126
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000042.html
127
- - doc/rdoc/classes/Mongrel/HttpResponse.src/M000043.html
123
+ - doc/rdoc/classes/Mongrel/HttpParser.src/M000023.html
124
+ - doc/rdoc/classes/Mongrel/HttpParser.src/M000024.html
125
+ - doc/rdoc/classes/Mongrel/HttpParser.src/M000025.html
126
+ - doc/rdoc/classes/Mongrel/HttpParser.src/M000026.html
127
+ - doc/rdoc/classes/Mongrel/HttpParser.src/M000027.html
128
+ - doc/rdoc/classes/Mongrel/HttpParser.src/M000028.html
129
+ - doc/rdoc/classes/Mongrel/HttpRequest.src/M000068.html
128
130
  - doc/rdoc/classes/Mongrel/HttpResponse.src/M000044.html
129
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000029.html
130
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000030.html
131
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000031.html
132
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000032.html
133
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000033.html
134
- - doc/rdoc/classes/Mongrel/HttpServer.src/M000034.html
135
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000045.html
136
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000046.html
137
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000047.html
138
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000048.html
139
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000049.html
140
- - doc/rdoc/classes/Mongrel/URIClassifier.src/M000050.html
141
- - doc/rdoc/classes/RailsHandler.src/M000001.html
142
- - doc/rdoc/classes/RailsHandler.src/M000002.html
131
+ - doc/rdoc/classes/Mongrel/HttpResponse.src/M000045.html
132
+ - doc/rdoc/classes/Mongrel/HttpResponse.src/M000046.html
133
+ - doc/rdoc/classes/Mongrel/HttpResponse.src/M000047.html
134
+ - doc/rdoc/classes/Mongrel/HttpResponse.src/M000048.html
135
+ - doc/rdoc/classes/Mongrel/HttpResponse.src/M000049.html
136
+ - doc/rdoc/classes/Mongrel/HttpResponse.src/M000050.html
137
+ - doc/rdoc/classes/Mongrel/HttpServer.src/M000035.html
138
+ - doc/rdoc/classes/Mongrel/HttpServer.src/M000036.html
139
+ - doc/rdoc/classes/Mongrel/HttpServer.src/M000037.html
140
+ - doc/rdoc/classes/Mongrel/HttpServer.src/M000038.html
141
+ - doc/rdoc/classes/Mongrel/HttpServer.src/M000039.html
142
+ - doc/rdoc/classes/Mongrel/HttpServer.src/M000040.html
143
+ - doc/rdoc/classes/Mongrel/URIClassifier.src/M000051.html
144
+ - doc/rdoc/classes/Mongrel/URIClassifier.src/M000052.html
145
+ - doc/rdoc/classes/Mongrel/URIClassifier.src/M000053.html
146
+ - doc/rdoc/classes/Mongrel/URIClassifier.src/M000054.html
147
+ - doc/rdoc/classes/Mongrel/URIClassifier.src/M000055.html
148
+ - doc/rdoc/classes/Mongrel/URIClassifier.src/M000056.html
149
+ - doc/rdoc/classes/RailsHandler.src/M000003.html
150
+ - doc/rdoc/classes/RailsHandler.src/M000004.html
151
+ - doc/rdoc/classes/RailsHandler.src/M000005.html
152
+ - doc/rdoc/classes/TCPServer.src/M000001.html
143
153
  - doc/rdoc/files/COPYING.html
144
154
  - doc/rdoc/files/ext
145
155
  - doc/rdoc/files/lib
@@ -149,23 +159,27 @@ files:
149
159
  - doc/rdoc/files/ext/http11/http11_c.html
150
160
  - doc/rdoc/files/lib/mongrel
151
161
  - doc/rdoc/files/lib/mongrel_rb.html
162
+ - doc/rdoc/files/lib/mongrel/camping_rb.html
152
163
  - doc/rdoc/files/lib/mongrel/cgi_rb.html
153
164
  - doc/rdoc/files/lib/mongrel/command_rb.html
154
165
  - doc/rdoc/files/lib/mongrel/handlers_rb.html
155
- - doc/rdoc/files/lib/mongrel/plugins_rb.html
166
+ - doc/rdoc/files/lib/mongrel/init_rb.html
156
167
  - doc/rdoc/files/lib/mongrel/rails_rb.html
168
+ - doc/rdoc/files/lib/mongrel/tcphack_rb.html
157
169
  - test/test_http11.rb
158
170
  - test/test_response.rb
159
171
  - test/test_uriclassifier.rb
160
172
  - test/test_ws.rb
161
173
  - lib/mongrel
162
174
  - lib/mongrel.rb
175
+ - lib/mongrel/camping.rb
163
176
  - lib/mongrel/cgi.rb
164
177
  - lib/mongrel/command
165
178
  - lib/mongrel/command.rb
166
179
  - lib/mongrel/handlers.rb
167
- - lib/mongrel/plugins.rb
180
+ - lib/mongrel/init.rb
168
181
  - lib/mongrel/rails.rb
182
+ - lib/mongrel/tcphack.rb
169
183
  - ext/http11/ext_help.h
170
184
  - ext/http11/http11_parser.h
171
185
  - ext/http11/tst.h
@@ -185,6 +199,8 @@ files:
185
199
  - examples/camping/blog.rb
186
200
  - examples/camping/tepee.rb
187
201
  - tools/rakehelp.rb
202
+ - ext/http11/MANIFEST
203
+ - setup.rb
188
204
  test_files:
189
205
  - test/test_ws.rb
190
206
  rdoc_options: []