The Rack processor, that Erza and I have been working on, is finally
in trunk. This change will not effect your app. In fact, all of the
server commands will still run CGI. All the CGI internals will stick
around until this migration is complete. In order to test out the new
rack goodies, you'll need to setup a config file for the rackup
command.
Please help test this rack stuff out. Once we're pretty confident in
the processor, we'll start switching over script/server, mongrel_rails
and all those server commands to use Rack by default.
Now they are set, but for a strange reason, I can't read them. In the
middle of an action, I get:
p cookies.inspect
=> {"_session_id"=>"BAh7BzoMY3NyZl9pZCIlMjQ0MzM2MzYyODkzOWJj...",
"lang"=>"en"}
p cookies["_session_id"]
=> nil
p cookies["lang"]
=> nil
p cookies.keys
=> {"_session_id", "lang"}
p cookies.values
=> {"BAh7BzoMY3NyZl9pZCIlMjQ0MzM2MzYyODkzOWJj...", "en"}
p cookies[cookies.keys.first]
=> nil
That fix was for sessions. I didn't really test cookies yet.
And I've noticed a couple more things:
1. I wasn't able to start thin with it:
rackup -p 3000 -s thin
Unless I put in my environment (or a require somewhere):
config.gem 'thin'
Are you planning to handle those things by default? =)
There is no way know that thin is an adapter without requiring the
gem. Thin and Ebb are the only two I can think of that manage their
own handlers inside their gems. If you would like to see this
automatic, ask the thin guys to send their handler over to the rack.
BTW, this isn't a problem just with Rails, but every rack app with
rackup and thin.
rackup -p 3000 -r thin -s thin or require it in your config
2. Mongrel starts really slowly and without messages. On the other
hand, Webrick and Thin (after the first step) work like a charm! =)
haha, not sure. I wish rackup would print out some more informative
text.
I did not write rackup and it is not what you will likely be using one
rails is all switched over. Rackup is a universal command for all rack
apps. We will tailor our script/server to be a bit more friendly.