From 3754822f43f2942f32f14ea326c9a7b2f344d056 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 20 Sep 2005 10:53:33 +0000 Subject: Fixed problem with send_file and WEBrick using stdout #1812 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2274 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_controller/cgi_process.rb | 2 +- actionpack/lib/action_controller/streaming.rb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'actionpack/lib/action_controller') diff --git a/actionpack/lib/action_controller/cgi_process.rb b/actionpack/lib/action_controller/cgi_process.rb index 8c472c5514..4413a29791 100644 --- a/actionpack/lib/action_controller/cgi_process.rb +++ b/actionpack/lib/action_controller/cgi_process.rb @@ -145,7 +145,7 @@ module ActionController #:nodoc: if @cgi.send(:env_table)['REQUEST_METHOD'] == 'HEAD' return elsif @body.respond_to?(:call) - @body.call(self) + @body.call(self, output) else output.write(@body) end diff --git a/actionpack/lib/action_controller/streaming.rb b/actionpack/lib/action_controller/streaming.rb index 2914fd907b..0280522e13 100644 --- a/actionpack/lib/action_controller/streaming.rb +++ b/actionpack/lib/action_controller/streaming.rb @@ -61,20 +61,20 @@ module ActionController #:nodoc: @performed_render = false if options[:stream] - render :text => Proc.new { + render :text => Proc.new { |response, output| logger.info "Streaming file #{path}" unless logger.nil? len = options[:buffer_size] || 4096 File.open(path, 'rb') do |file| - if $stdout.respond_to?(:syswrite) + if output.respond_to?(:syswrite) begin while true - $stdout.syswrite file.sysread(len) + output.syswrite(file.sysread(len)) end rescue EOFError end else while buf = file.read(len) - $stdout.write buf + output.write(buf) end end end -- cgit v1.2.3