From b1315983056f91467b336aeb426759debc006a4e Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 6 Jun 2010 02:14:58 +0000 Subject: centralize body => IO conversion logic Since EventMachine and Rev shared the same logic for optimizing and avoiding extra file opens for IO/File-ish response bodies, so centralize that. For Ruby 1.9 users, we've also enabled this logic so ThreadPool, ThreadSpawn, WriterThreadPool, and WriterThreadSpawn can take advantage of Rainbows::DevFdResponse-generated bodies while proxying sockets. --- lib/rainbows/base.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/rainbows/base.rb') diff --git a/lib/rainbows/base.rb b/lib/rainbows/base.rb index a773722..8e5031f 100644 --- a/lib/rainbows/base.rb +++ b/lib/rainbows/base.rb @@ -33,8 +33,7 @@ module Rainbows if IO.respond_to?(:copy_stream) def write_body(client, body) if body.respond_to?(:to_path) - io = body.respond_to?(:to_io) ? body.to_io : body.to_path - IO.copy_stream(io, client) + IO.copy_stream(Rainbows.body_to_io(body), client) else body.each { |chunk| client.write(chunk) } end -- cgit v1.2.3-24-ge0c7