diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2009-12-20 18:32:35 -0800 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2009-12-20 18:32:35 -0800 |
commit | 91ce8d8b7f4e7ab93dda159595debadd4f659ab9 (patch) | |
tree | 88e7592f0191eec5a66cdf45375b114d01018fcc /actionpack/lib/action_controller/metal/rack_delegation.rb | |
parent | cf9d6a95e805bdddfa9c6b541631d51b3165bf23 (diff) | |
parent | 29c8a43056f40759a8c64cbcbd4e71d4283b233d (diff) | |
download | rails-91ce8d8b7f4e7ab93dda159595debadd4f659ab9.tar.gz rails-91ce8d8b7f4e7ab93dda159595debadd4f659ab9.tar.bz2 rails-91ce8d8b7f4e7ab93dda159595debadd4f659ab9.zip |
Merge branch 'master' of github.com:rails/rails
Diffstat (limited to 'actionpack/lib/action_controller/metal/rack_delegation.rb')
-rw-r--r-- | actionpack/lib/action_controller/metal/rack_delegation.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/metal/rack_delegation.rb b/actionpack/lib/action_controller/metal/rack_delegation.rb new file mode 100644 index 0000000000..5141918499 --- /dev/null +++ b/actionpack/lib/action_controller/metal/rack_delegation.rb @@ -0,0 +1,28 @@ +module ActionController + module RackDelegation + extend ActiveSupport::Concern + + included do + delegate :session, :reset_session, :to => "@_request" + delegate :headers, :status=, :location=, :content_type=, + :status, :location, :content_type, :to => "@_response" + attr_internal :request + end + + def dispatch(action, env) + @_request = ActionDispatch::Request.new(env) + @_response = ActionDispatch::Response.new + @_response.request = request + super + end + + def params + @_params ||= @_request.parameters + end + + def response_body=(body) + response.body = body if response + super + end + end +end |