tfpt unshelve /shelveset:"rackupdate4;REDMOND\jimmysch" Note: the diff has been truncated of adding a Rails example and a bunch of gems (see below). --- Fixes for running rack-based applications Ruby changes: - Put ESPIPE class in Errno module; it was defined at top-level which is incorrect, and Sinatra''s error-reporting depends on it. - Remove ''hacks'' from irake; it doesn''t exist anymore IronRuby.Rack changes: - request.body is always a string - rack.input should never have a null contents (eg. StringIO.new(nil)). - rack.version should be set to Rack::VERSION, rather than hardcoded. - Ruby errors shouldn''t be swallowed because the error handler threw - Generate the rack env with Ruby types the first time around, and only execute Ruby code where needed. - Make sure AppPath is a full path - Lazy load web.config settings, and allow setting RACK_ENV from web.config. - Remove locks in HttpHandler and HttpHandlerFactory; may revert this change after speaking with the ASP.NET team to better understand the request architecture. - Requests are processed asynchronously - Manually set TOPLEVEL_BINDING since it''s not set automatically when IronRuby is embedded. - Canonlicalize paths of files added to the load path, so Ruby files always show "/" as the path separator. - Always log exceptions to ironrack.log, and only show them to the HTML page when RACK_ENV is ''development''. - Update Rails example app, and run all examples in RACK_ENV production mode. - Add Rails example that uses ActiveRecord (IronRuby.RailsDB.Example) - Update gems: rails 2.3.5, sinatra 0.9.4, ironruby-sqlserver 0.1.0, rspec 1.3.0, and make sure the executables are in the gembin dir. - Add Microsoft.Dynamic.csproj to IronRuby.Rack.sln - Update permissions instructions in README. - Clean up little perf test, and add an actual test of IronRuby.Rack, though testing is still very lacking. -------------- next part -------------- A non-text attachment was scrubbed... Name: rackupdate4.diff Type: application/octet-stream Size: 157871 bytes Desc: rackupdate4.diff URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100125/1241d2bf/attachment-0001.obj>