diff options
author | wycats <wycats@gmail.com> | 2010-03-28 13:40:38 -0700 |
---|---|---|
committer | wycats <wycats@gmail.com> | 2010-03-28 13:40:38 -0700 |
commit | 77a2a3d9b3aa461437ced326ea4a70112a8c68ed (patch) | |
tree | eb236e6832815f95629d4b00a475e19dc2e575aa /actionpack/lib/action_dispatch/http | |
parent | e1a70faea675499d717cef7662262ceb03b23975 (diff) | |
download | rails-77a2a3d9b3aa461437ced326ea4a70112a8c68ed.tar.gz rails-77a2a3d9b3aa461437ced326ea4a70112a8c68ed.tar.bz2 rails-77a2a3d9b3aa461437ced326ea4a70112a8c68ed.zip |
Request#content_type exists in Rack::Request, and other parts of Rack::Request expect
it to return a String. Split the Rails API so that Request#content_type returns
a String, and Request#content_mime_type returns a Mime::Type object.
Diffstat (limited to 'actionpack/lib/action_dispatch/http')
-rw-r--r-- | actionpack/lib/action_dispatch/http/mime_negotiation.rb | 8 | ||||
-rwxr-xr-x | actionpack/lib/action_dispatch/http/request.rb | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/actionpack/lib/action_dispatch/http/mime_negotiation.rb b/actionpack/lib/action_dispatch/http/mime_negotiation.rb index fec250e928..be89924015 100644 --- a/actionpack/lib/action_dispatch/http/mime_negotiation.rb +++ b/actionpack/lib/action_dispatch/http/mime_negotiation.rb @@ -5,7 +5,7 @@ module ActionDispatch # # For backward compatibility, the post \format is extracted from the # X-Post-Data-Format HTTP header if present. - def content_type + def content_mime_type @env["action_dispatch.request.content_type"] ||= begin if @env['CONTENT_TYPE'] =~ /^([^,\;]*)/ Mime::Type.lookup($1.strip.downcase) @@ -15,13 +15,17 @@ module ActionDispatch end end + def content_type + content_mime_type && content_mime_type.to_s + end + # Returns the accepted MIME type for the request. def accepts @env["action_dispatch.request.accepts"] ||= begin header = @env['HTTP_ACCEPT'].to_s.strip if header.empty? - [content_type] + [content_mime_type] else Mime::Type.parse(header) end diff --git a/actionpack/lib/action_dispatch/http/request.rb b/actionpack/lib/action_dispatch/http/request.rb index ea9f0f99c2..8b8426b5aa 100755 --- a/actionpack/lib/action_dispatch/http/request.rb +++ b/actionpack/lib/action_dispatch/http/request.rb @@ -96,11 +96,11 @@ module ActionDispatch end def forgery_whitelisted? - method == :get || xhr? || content_type.nil? || !content_type.verify_request? + method == :get || xhr? || content_mime_type.nil? || !content_mime_type.verify_request? end def media_type - content_type.to_s + content_mime_type.to_s end # Returns the content length of the request as an integer. @@ -157,7 +157,7 @@ module ActionDispatch end def form_data? - FORM_DATA_MEDIA_TYPES.include?(content_type.to_s) + FORM_DATA_MEDIA_TYPES.include?(content_mime_type.to_s) end def body_stream #:nodoc: |