aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2012-01-16 08:05:31 -0800
committerJosé Valim <jose.valim@gmail.com>2012-01-16 08:05:31 -0800
commit3100b99b549dc6734bbed3ef4459c91da6eeb43e (patch)
tree8051fd1df48bab85fcf45f6ecac938d7af962234 /actionpack/lib
parentb5243fcc7ef7ff71f45914641159521e31ae0b8f (diff)
parent23cb3d2f09e3eb6065aae6a5b15931e0bbbba419 (diff)
downloadrails-3100b99b549dc6734bbed3ef4459c91da6eeb43e.tar.gz
rails-3100b99b549dc6734bbed3ef4459c91da6eeb43e.tar.bz2
rails-3100b99b549dc6734bbed3ef4459c91da6eeb43e.zip
Merge pull request #4480 from lest/use-rack-body-proxy
Use Rack::BodyProxy
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_dispatch/middleware/body_proxy.rb30
-rw-r--r--actionpack/lib/action_dispatch/middleware/reloader.rb6
2 files changed, 3 insertions, 33 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/body_proxy.rb b/actionpack/lib/action_dispatch/middleware/body_proxy.rb
deleted file mode 100644
index 739b9e427a..0000000000
--- a/actionpack/lib/action_dispatch/middleware/body_proxy.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-# Keep this file meanwhile https://github.com/rack/rack/pull/313 is not released
-module ActionDispatch
- class BodyProxy
- def initialize(body, &block)
- @body, @block, @closed = body, block, false
- end
-
- def respond_to?(*args)
- super or @body.respond_to?(*args)
- end
-
- def close
- return if @closed
- @closed = true
- begin
- @body.close if @body.respond_to? :close
- ensure
- @block.call
- end
- end
-
- def closed?
- @closed
- end
-
- def method_missing(*args, &block)
- @body.__send__(*args, &block)
- end
- end
-end
diff --git a/actionpack/lib/action_dispatch/middleware/reloader.rb b/actionpack/lib/action_dispatch/middleware/reloader.rb
index 7a5aff214d..a0388e0e13 100644
--- a/actionpack/lib/action_dispatch/middleware/reloader.rb
+++ b/actionpack/lib/action_dispatch/middleware/reloader.rb
@@ -1,5 +1,3 @@
-require 'action_dispatch/middleware/body_proxy'
-
module ActionDispatch
# ActionDispatch::Reloader provides prepare and cleanup callbacks,
# intended to assist with code reloading during development.
@@ -62,8 +60,10 @@ module ActionDispatch
def call(env)
@validated = @condition.call
prepare!
+
response = @app.call(env)
- response[2] = ActionDispatch::BodyProxy.new(response[2]) { cleanup! }
+ response[2] = ::Rack::BodyProxy.new(response[2]) { cleanup! }
+
response
rescue Exception
cleanup!