aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/cgi_process.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller/cgi_process.rb')
-rw-r--r--actionpack/lib/action_controller/cgi_process.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/actionpack/lib/action_controller/cgi_process.rb b/actionpack/lib/action_controller/cgi_process.rb
index 8610f60854..abc743246f 100644
--- a/actionpack/lib/action_controller/cgi_process.rb
+++ b/actionpack/lib/action_controller/cgi_process.rb
@@ -107,7 +107,10 @@ module ActionController #:nodoc:
$stdout.binmode if $stdout.respond_to?(:binmode)
$stdout.sync = false
print @cgi.header(@headers)
- if @body.respond_to?(:call)
+
+ if @cgi.head?
+ return
+ elsif @body.respond_to?(:call)
@body.call(self)
else
print @body
@@ -116,9 +119,11 @@ module ActionController #:nodoc:
private
def convert_content_type!(headers)
- if headers["Content-Type"]
- headers["type"] = headers["Content-Type"]
- headers.delete "Content-Type"
+ %w( Content-Type Content-type content-type ).each do |ct|
+ if headers[ct]
+ headers["type"] = headers[ct]
+ headers.delete(ct)
+ end
end
end
end