aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/response.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2006-09-17 16:20:32 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2006-09-17 16:20:32 +0000
commit2caf4d5a9337591c2728c7db826526febc5b2158 (patch)
tree4ca98abba378fa096e3e1664049fff0ad4098893 /actionpack/lib/action_controller/response.rb
parent55c6c64da0fbbfba74a0b4ad68022bf640a0a049 (diff)
downloadrails-2caf4d5a9337591c2728c7db826526febc5b2158.tar.gz
rails-2caf4d5a9337591c2728c7db826526febc5b2158.tar.bz2
rails-2caf4d5a9337591c2728c7db826526febc5b2158.zip
Added proper getters and setters for content type and charset [DHH] Added utf-8 as the default charset for all renders. You can change this default using ActionController::Base.default_charset=(encoding) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5129 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller/response.rb')
-rwxr-xr-xactionpack/lib/action_controller/response.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/response.rb b/actionpack/lib/action_controller/response.rb
index 2bec477647..d6795e37a0 100755
--- a/actionpack/lib/action_controller/response.rb
+++ b/actionpack/lib/action_controller/response.rb
@@ -7,6 +7,24 @@ module ActionController
@body, @headers, @session, @assigns = "", DEFAULT_HEADERS.merge("cookie" => []), [], []
end
+ def content_type=(mime_type)
+ @headers["Content-Type"] = charset ? "#{mime_type}; charset=#{charset}" : mime_type
+ end
+
+ def content_type
+ content_type = String(@headers["Content-Type"]).split(";")[0]
+ content_type.blank? ? nil : content_type
+ end
+
+ def charset=(encoding)
+ @headers["Content-Type"] = "#{content_type || "text/html"}; charset=#{encoding}"
+ end
+
+ def charset
+ charset = String(@headers["Content-Type"]).split(";")[1]
+ charset.blank? ? nil : charset.strip.split("=")[1]
+ end
+
def redirect(to_url, permanently = false)
@headers["Status"] = "302 Found" unless @headers["Status"] == "301 Moved Permanently"
@headers["location"] = to_url