I think Rack::Request and Rack::Response are convenient, but they need to undergo a fairly extensive performance audit if they are to remain in rack-core.

You might have seen that I did a bunch of performance work on Rails 3, and I got a lot of improvement by moving pieces of Rack::Response down into ActionDispatch::Response and rewriting them for performance. For instance, if people want a HeaderHash, they should probably have to specify that. Right now, there's no way to super to Rack::Response#initialize and avoid creating a fairly expensive HeaderHash.

My approach would be that Rack::Response would be extremely simple and performant, and that if people wanted to add special functionality to it, they should do it themselves (and possibly call super). I'd be happy to supply patches if people were interested, but I'm not sure if everything could be 100% compatible with the existing Response. Which frameworks are using Rack::Response?

-- Yehdua

Matt Todd wrote:
I was talking to a friend of mine yesterday and he mentioned that thought the Rack package itself seemed to be slightly bloated by things like Basic Auth et al. He mentioned two things I thought were interesting and I wanted to get your feedback on it:

1. Like Merb, Rack probably could benefit from using a core and more separation of functionality, and
2. Rack core should only include what's necessary for Rack::Lint to validate a basic application at minimum.

Thoughts?

Matt

--
Matt Todd
Highgroove Studios
www.highgroove.com
cell: 404-314-2612
blog: maraby.org

Scout - Web Monitoring and Reporting Software
www.scoutapp.com