about summary refs log tree commit homepage
path: root/lib/rainbows/rev/deferred_response.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rainbows/rev/deferred_response.rb')
-rw-r--r--lib/rainbows/rev/deferred_response.rb7
1 files changed, 1 insertions, 6 deletions
diff --git a/lib/rainbows/rev/deferred_response.rb b/lib/rainbows/rev/deferred_response.rb
index dd7a229..62a308c 100644
--- a/lib/rainbows/rev/deferred_response.rb
+++ b/lib/rainbows/rev/deferred_response.rb
@@ -17,12 +17,7 @@ module Rainbows
             return HttpResponse.write(client, response, out)
 
         headers = HH.new(headers)
-
-        # to_io is not part of the Rack spec, but make an exception
-        # here since we can't get here without checking to_path first
-        io = body.to_io if body.respond_to?(:to_io)
-        io ||= ::IO.new($1.to_i) if body.to_path =~ %r{\A/dev/fd/(\d+)\z}
-        io ||= File.open(body.to_path, 'rb')
+        io = Rainbows.body_to_io(body)
         st = io.stat
 
         if st.socket? || st.pipe?